写在前面

https://ithelp.ithome.com.tw/upload/images/20210916/20116003gKCIyL7LtT.jpg

关於我

大家好,我是 TD,目前在南方的小岛上担任菜鸟软件工程师。大学不是主修 CS 或资讯相关科系,是毕业许多年之後才开始接触程序开发,而後转职成为软件工程师。

一开始主要学习的语言是 JavaScript,学习过程中就会不时看到「物件导向」这四个字,看起来好像很重要,却又跟我当下在写的 JavaScript 好像没有太大的关系,所以就一直没有机会去深入探究。

直到进入新公司,开始写 Angular 和 TypeScript 之後,发现程序世界跟我过去看到的有些不同,出现了类别、型别,还有很多过去没看过的写法(模式),突然发现自己似乎已经踏入了「物件导向程序设计」的世界而不自知。

当然如果不去深入理解它,还是能够用自己的认知与观念,来处理每天的开发任务。但如果能够稍微了解一点,我想对於未来看到新事物或新问题的时候,也许就能看到以往看不到的那一面。

关於系列文

「帮自己搞懂物件导向和设计模式」的标题,很明显就是说文章是写给自己。网路上、各大书店当中都有数不尽关於物件导向的学习内容,但每当阅读这些内容的时候,发现大家的解释好像很类似却又都不太一样,让我仍然感觉知其然却不知其所以然,所以解决办法就是,自己写给自己好了。

这一系列文章的粗略架构为

  • 物件导向的基本观念
  • 设计原则
  • 设计模式

写在前面

  1. 程序码范例主要使用 TypeScript,但是系列文当中不会特别介绍 TypeScript 的语法。如果有兴趣的话,可以参阅 TypeScript 新手指南,或是可以在文章底下留言发问,我会尽可能的回覆。

  2. 前期的范例为了要突显型别 (Type) 的存在感,因此有些范例程序码会先故意忽略型别。如果直接执行一定会报错。

  3. 这次的系列文不是一套完整的教学文章,而比较会是我边走边想的学习笔记。内容当中若有遗漏或错误的地方,还请大家不吝提出讨论。


<<:  食谱搜寻系统_搜寻演算法介绍

>>:  [Day 8] SRE - 火炎焱燚之保卫战

WebPack安装与打包教学

Webpack安装说明 以前传统开发,我们会用到许多大大小小的Js/Css/img,通常是各自存放在...

【领域展开 01 式】 术式修炼前的理性条列思考

Hi 铁人赛,这是第二次参加 2021 年又再次参与 IT 铁人赛,去年参加是因为觉得 30 岁前要...

[Day13] 团队管理:建立团队信赖感(2)

欢迎对话的发生 展现Accept and Allow,营造愿意开口的环境 要塑造这样的信赖文化,是一...

离职倒数3天:东京男子图监

刚看了东京男子图监这部剧 让我想到有一次跟同事在惠比寿吃完饭 我们一起到同事K君家续摊的故事 同行的...

Day13 参加职训(机器学习与资料分析工程师培训班),人工智慧与机器学习概论

今天老师讲了一些数学的东西,传统演算法与机器学习的演算法差异,机器学习演算法有哪些方式去回测参数,但...