背景引见
之前在浏览《JavaScript设想形式和开辟实践》这本书的时刻,收货颇丰,进修了设想形式在许多场景下的运用。
但也是因为书上场景过量,所以当记不清某一种设想形式的时刻,翻书复习庞杂案例的成本是相对较高的。有时刻,只需要一段典范、简约的demo就能够敏捷回想起精华,在疾速营业开辟中,这是个比较经济的做法。
除此之外,当主要事情言语发生变化的时刻(比方:js -> python),简约的demo更能协助开辟者疾速回想某种设想形式的精华和完成思绪,轻易开辟者依据言语特征再做完成。
因而,关于比较主要的18种设想形式,我都遴选了它的一种典范运用,而且只管运用ES6
的语法和编程习气来举行完成。 前10个设想形式还供应了Python3
的完成版本(厥后比较忙,遂摒弃)。
文章地点
一共记录了18个设想形式,部份文章发到了掘金,因为精力有限,背面几篇文章就直接放在了Github堆栈 / 个人博客
- 单例形式:https://godbmw.com/passages/2018-10-23-singleton-pattern/
- 战略形式: https://godbmw.com/passages/2018-10-25-stragegy-pattern/
- 代办形式: https://godbmw.com/passages/2018-11-01-proxy-pattern/
- 迭代器形式: https://godbmw.com/passages/2018-11-06-iter-pattern/
- 定阅-宣布形式: https://godbmw.com/passages/2018-11-18-publish-subscribe-pattern/
- 敕令形式: https://godbmw.com/passages/2018-11-25-command-pattern/
- 组合形式: https://godbmw.com/passages/2018-12-12-composite-pattern/
- 享元形式:https://godbmw.com/passages/2018-12-16-flyweight-pattern/
- 义务链形式: https://godbmw.com/passages/2019-01-07-chain-of-responsibility-pattern/
- 装潢者形式: https://godbmw.com/passages/2019-01-12-decorator-pattern/
- 状况形式: https://godbmw.com/passages/2019-01-16-state-pattern/
- 适配器形式: https://godbmw.com/passages/2019-01-17-adapter-pattern/
- 桥接形式: https://godbmw.com/passages/2019-01-19-bridge-pattern/
- 诠释器形式: https://godbmw.com/passages/2019-01-25-interpreter-pattern/
- 备忘录形式: https://godbmw.com/passages/2019-01-26-memento-pattern/
- 模板形式: https://godbmw.com/passages/2019-01-31-template-pattern/
- 工场形式: https://godbmw.com/passages/2019-03-31-factory-pattern/
- 笼统工场形式: https://godbmw.com/passages/2019-04-01-abstract-factory-pattern/
放在末了
实在整顿这些的缘由另有一个,就是为了预备本年春招的口试。然后过了腾讯的校招和阿里的前三面发明,居然没有特地问到设想形式相干学问!
但回想看,体系地进修、明智地运用设想形式(不是为了用而用),确切能提拔代码的可读性,完成营业解耦。而在写这些文章的过程当中,每种设想形式本身也是会找许多的完成(包含不限于python、java、c++)来参考,探究式进修照样蛮风趣的。
尽管如此,有2篇文章的瑕疵照样许多,愿望您抱着交换的心态来浏览,若有不当,迎接指出、配合提拔。