设计模式是为了让我们开发出具有更好的灵活性和可扩展性,也更易于复用的软件系统。
模式并不能替代人来完成软件系统的创造,他们只不过会给那些缺乏经验但却具备才能和创造力的人带来希望。
设计模式的组成要素:
#问题
描述了应该在何时使用模式,它包含了设计中存在的问题以及问题存在的原因
#解决方案
描述了一个设计模式的组成成分,以及这些组成成分之间的相互关系,各自的职责和协作方式
#效果
描述了模式的优缺点以及在使用模式时应权衡的问题
23种GOF设计模式:5种创建型,7种结构型,11种行为型
#创建型
如何创建对象
#结构型
如何实现类或对象的组合
#行为型
类和对象怎样交互以及怎样分配职责
设计模式的优点
#提高开发和设计效率
#使得设计方案更加通俗易懂
#设计模式兼顾了系统的可重用性和可扩展性,提高系统的灵活性
#有助于别人更快的理解系统
#更加深入的理解面向对象思想
学习的过程中要注意
#这个设计模式的意图是什么,它要解决一个什么问题,什么时候可以使用它
#它是如何解决的,掌握它的结构图,记住它的关键代码
#能够想到至少两个它的应用实例,一个生活中的,一个软件中的
#优缺点是什么,在使用的时候要注意什么