在脉脉上看过一个帖子:在工作中最常用的设计模式都有哪些?
总结一下这些出现频率高的设计模式(排名不分先后)
创建型设计模式
- 工厂模式(简单工厂、抽象工厂、工厂方法)
- 单例模式
结构型设计模式
- 装饰器模式
- 组合模式
行为型设计模式
- 责任链模式
- 策略模式
注意:
- 设计模式不是解决所有问题的灵丹妙药。
- 不要试图强迫使用他们; 如果这样做的话,会发生坏事。
- 请记住,设计模式是问题的解决方案,而不是解决问题的解决方案;所以不要过分思考。
- 如果以正确的方式在正确的地方使用,他们可能是救世主; 否则他们可能会导致代码混乱。
(自己还没理解,例子以后再补)
简单工厂模式
抽象工厂模式
工厂方法模式
单例模式
装饰器模式
组合模式
策略模式
解决 在有多种算法相似的情况下 if...else 所带来的复杂和难以维护
具体的场景就是,需求可能会改变,但是外部调用的方法现在就要写好,所以就需要留下可拓展的空间
策略设计模式使用? - nonesuccess的回答 - 知乎
责任链模式
参考资料:
https://www.guanguans.cn/design-patterns-for-humans-cn
https://www.runoob.com/design-pattern/design-pattern-tutorial.html