1.基本入门级----套用型
能够正确理解和掌握每个设计模式的知识,能够识别在什么场景下,出了什么特定问题,并且知道如何解决它,然后能在程序设计和开发中套用设计模式的方案。
2.基本掌握级----可变性使用型
3.真正理解和掌握级----思想上吸收和趋同型
设计模式怎么解决设计问题?
1.寻找合适的对象
面向对象设计最困难的部分是将系统分解成对象集合。因为要考虑许多因素:封装、力度、依赖关系、灵活性、性能、演化、复用等等,它们都影响着系统的分解,并且这些因素通常还是互相冲突的。
2.决定对象的粒度
3.指定对象接口
4.设计应支持变化
获得最大限度复用的关键在于对新需求和已有需求发生变化时的预见性,要求你的系统设计要能够相应地改进。
为了设计时应这种变化、且具有健壮性的系统,必须考虑系统在它的生命周期内会发生怎样的变化。一个不考虑系统变化的设计在将来就有可能需要重新设计。这些变化可能是类的重新定义和实现,修改客户和重新测试。重新设计会影响软件系统的许多方面,并且未曾料到的变化总是代价巨大的。
设计模式可以确保系统能以特定方式变化,从而帮助你避免重新设计系统。每一个设计模式允许系统结构的某个方面的变化独立于其他方面,这样产生的系统对于某一种特殊变化将更健壮。