架构师训练营 - week03 - 学习总结
1. 设计模式意义
面向对象设计的目标是强内聚和低耦合。
为了达到这个目标,总结出5大原则进行指导设计:单一职责、里氏替换、开闭原则、依赖倒置和接口分离。
但是原则还是太过抽象,面对具体的问题,人们倾向于脑中浮现的第一个解决方案,而不是寻找最优的解决方案,这样结果是可能成功、可能失败或痛苦曲折后成功了。人们总结了经验和抽象解决方案,可以面对一系列相似的问题,最终总结成为设计模式。
应用设计模式,就可以快速的对实际问题给出合理性的解决方案。
设计模式帮助获得良好的设计,但是还有面对架构落地和设计腐化的问题。技术上我们通过框架帮助架构师保证设计正确落地,通过工具开发帮助快速开发。
所以,设计模式是承上启下的作用。一方面要体现了设计原则,另一方面也沉淀了众多实际解决问题方案
2. 学习设计模式
设计模式不是只限于4人帮提出的经典23种设计模式。在后面的发展过程中,人们又有一些演化和改变。重要的是,设计模式是解决一类问题的工具。
从工具角度出发,学习设计模式的重点不是记代码和类图。而是记住设计模式在解决什么问题?通过什么方式解决的?它欠缺的点是什么,可以通过其他模式弥补吗?
也就是,实际设计中,我们会组合各种设计模式,服务于设计目标的达成。
评论