重新理解设计模式(Week 3)

设计模式(Design Patterns)是在软件设计中,对某一种特定问题的通用解决方案,并且是可复用的解决方案。

设计模式这个术语是上个世纪90年代由Erich Gamma、Richard Helm、Raplh Johnson和Jonhn Vlissides四个人基于他们自身的面向对象编程经验总结提炼出来的,并且写了一本Design Patterns的书。这四人也被称为四人帮(GoF)。

设计模式的终极目的是解决编程过程种的问题,使代码达到“高内聚低耦合”的目标。要达到这个目标,设计模式自然遵守面向对象的设计原则SOLID。把握住这个目标和原则,自然就容易理解每个模式为什么是那样的实现,还有什么可以改进的地方,根据自己特定领域的问题还可以有什么样的变种。

学习设计模式并不是记住每个模式的实现就可以了(当然这也是很难记住的)。要理解每个模式要解决的问题,想要达到的目标,以及采取了什么样的取舍、什么样的解决方案,最终其优缺点是什么。不能生搬硬套,也不能为了使用设计模式而过度设计,要合理平衡设计的复杂度和灵活性,并意识到设计模式也并不是万能的。

软件设计是演化出来的,设计模式也是由需求推动出来的。在最开始阶段,如果没有扩展方面的需求,可以先不使用设计模式、以使代码简单易读,随着开发的持续、需求的增加,可以引入设计模式、消除模块间耦合,使不同开发者减小或避免相互影响。

 


第三周课程总结-思维导图

 

posted @ 2020-10-04 23:48  susy  阅读(99)  评论(0编辑  收藏  举报