有哪些设计模式是你在完全不了解或者说没有借鉴之前就通过自己的一些编程基础能够想到并实现的呢?
就是那种灵光一现, 突然顿悟了某种设计模式的存在意义
1
18258226728 2019-08-27 10:42:22 +08:00
感觉模板最简单,当初不知道模板设计模式,想着那么多相同行为不同实现的代码,再会想到还有抽象这个概念,然后自己写出来了
|
2
Inside 2019-08-27 10:51:04 +08:00
当然是工厂模式,这个是最容易想到的。
设计模式是方法,可以不用太纠结,目标应该是 Single Point Of Truth. |
3
opengps 2019-08-27 10:55:22 +08:00
单例模式就是,当年刚毕业,特别喜欢用全局静态变量,重新学了单例后发现,自己喜欢用全局静态变量就是为了单例的效果
|
4
otakustay 2019-08-27 11:07:34 +08:00 1
事实上大部分设计模式是无论你知道不知道,一直会在用的
比如有问题套一层-不是 proxy 就是 decorator 比如搞个接口有不同实现按需选-基本是 strategy 你甚至可以说类太多了搞一个静态的封装一下-硬说是 fascade 写个 flutter-你不用 state 都难 然后还有几个 像 responsibility chain,你说一定要 chain 吗我用个数组动态注入进来 for 调用可以吗,显然是可以的 再比如像 builder,你说一定要 build 吗搞个 factory 直接造出来有什么不妥吗,显然是没有太多不妥的 那个 observer 一定要这么多接口吗直接搞个事件机制行不行,那当然必须是可以的 真正麻烦的几个像 mediator、bridge、flyweight、command 确立是只解决特定场景的特定问题的,不是说他们很难想出来,而是普通人本身就不容易遇到这些场景 至于工厂,我真的很想吐槽工厂模式占 3 个这种奇葩,也很想吐槽没有工厂配合的话 90%的设计模式都会没有任何意义这件事…… |
5
fvckDaybyte2 2019-08-27 16:22:44 +08:00 via iPhone
@opengps 单例不就是实例化后保存为全局静态变量来实现么...
|
6
otakustay 2019-08-27 16:59:31 +08:00
@fvckDaybyte2 不全是,单例的完全体是配合工厂根据上下文来单例出一个自己的子类来,同时拥有静态的能力和多态性
|