设计模式的组成
单个设计模式
设计模式的名称
为每个设计模式取名,好记易懂
环境问题
描述什么场景下,出现什么样的特定问题
解决方案
描述如何解决这个问题
效果
描述模式应用的效果,以及可能带来的问题,或者使用中需要权衡的问题
上面是对单个设计模式来说的,在java领域中,对于设计模式的组成还有另外一种分发,就是按照设计模式所在的技术领域来划分,
大致分成:
java设计模式-GoF的《设计模式——可复用面向对象软件的基础》
关注细节设计
javaee设计模式-SUN的《J2EE核心设计模式》
层级更高,注重架构设计,组合成架构
EJB设计模式
实时系统设计模式
多线程设计模式
架构模式
java设计模式的分类
创建型模式:抽象了对象实例化的过程,用来帮助创建对象实例
结构型模式:描述如何组合类和对象已获得更大的结构【类内的关系起来】
行为型模式:描述算法和对象间职责的分配【为了类内设计更合理】
设计模式和面向对象设计原则
原则从思想层面上给我们指出了面向对象分析设计的正确方向,我们应该在进行面向对象分析设计时尽量遵守这些准则
如果说原则是思想上的指导,那么模式就是实现手段。因此,设计模式也应该遵守这些元怎,换句话说,设计模式就是设计原则的一字儿具体体现
原则的具体实现不止设计模式一种。
一种设计模式,体现的设计原则往往不是单一的,而是几种原则融合在一起的
设计原则只是一种指导思想,事实上开发中很少完全遵守,设计是一种不断权衡的工作,有时候,我们还要考虑其他方面4
设计模式和UML
UML是面向对象分析与设计的一种标准
这两者其实没有关系
设计模式和设计工具
设计模式和重构
设计模式是重构的目标,重构是达到目标的手段之一
重构【辅助手段】不排斥提前设计,重构并不需要设计,不赞成过度设计,但是支持适度设计
合理的提前设计【主要手段】+重构来不断的改进设计=>趋近于优秀的系统