1. 开篇导读

1.设计模式是什么?

设计模式(Design pattern)是一套代码设计经验的总结,是解决某种应用场景问题的一个通用解决方案。

 

2.为什么要用设计模式?

使用设计模式的目的有如下几种:

(1)可重用代码

(2)让代码更容易被他人理解

(3)保证代码可靠性

(4) 易于做扩展

 

3.设计模式都有哪些?

Java设计模式分为创建模式, 结构模式, 行为模式 3种类型:

创建模式

(1)Factory( 工厂方法)

(2)Factory( 抽象工厂)

(3)Builder(建造者模式)

(4)Singleton(单例模式)

(5)Prototype(原型模式)

 

结构模式

(1)Adapter(适配器模式)

(2)Bridge(桥梁模式)

(3)Composite(组合模式)

(4)Decorator(装饰模式)

(5)Facade(门面模式)

(6)Flyweigh(共享元模式)

(7)Proxy(代理模式)

 

行为模式

(1)Chain of responsibleif(责任链模式)

(2)Command(命令模式)

(3)Strategy(策略模式)

(4)Observer(观察模式)

(5)Interpreter(解释器模式)

(6)Iterator(迭代模式)

(7)Mediator(中介模式)

(8)Memento(备忘录模式)

(9)State(状态模式)

(10)Template(模板模式)

(11)Visitor(访问者模式)

 

4.怎么学习设计模式?

      把设计模式比喻成武功招式,这些都是最佳实践,但招式终归是招式,是前人根据自己的经验总结出来的,不是我们自己的东西,只有认清楚了招式的本质,知道前人为什么会创出这招,那么我们后来人才能举一反三,而不仅仅把眼光放在已有的招式上。我们也可用自己创造招式,可以比前人的招式更好。

      设计模式忌讳生搬硬套,开始使用时难免会很生硬,但用了后要总结一下,在这个地方用这种模式真能解决这个问题吗?而不要为了模式而模式,发现有的人为了能够用上模式,而不顾能否解决问题,导致模式泛滥。还不如无模式,可以用最原始的方式去解决项目的问题。

     禁止过度使用设计模式,为了解决一个简单的问题,引入重型的设计模式,把问题搞复杂了,设计模式不是一成不变的,需要根据具体的场景进行调整的。没有最好,只有合适的。

      首先,了解一下软件设计的原则,比如单一职责原则、开放-封闭原则等。知道这些后,你可以在不知道设计模式的情况下,自己也可以创造自己的设计模式出来。这些原则是设计的目标原则,为了达到这些目标,有很多条路,已有的设计模式只是其中几条路而已,可能还不是最佳的路。

      然后,可以了解一下现有的设计模式,看看前人怎么达到这些目标的,有什么规律可循。这里记住,设计模式不止现有的这些,还有很多需要我们去发掘的。

 

 

 

 

posted on 2012-05-12 16:02  随心浪子  阅读(389)  评论(0编辑  收藏  举报

导航