首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计模式如何学

2012-09-10 
设计模式怎么学?? ? ? ?如果你是一个缺乏项目经验的人,手捧一本关于《设计模式》的书,一定会有一种云里雾里

设计模式怎么学

?

? ? ? ?如果你是一个缺乏项目经验的人,手捧一本关于《设计模式》的书,一定会有一种云里雾里的感觉,你无论耗用多长时间,也未必真正领会;如果你是一个项目经验丰富的人,那么即使没学过设计模式,也会知道在什么场合代码应该怎么写,写出来的代码不知不觉符合某种模式的要求。

? ? ? 觉得设计模式是在实际的项目经验中应用后领会出来的,而非天天捧着书本学出来的。那么其实学习它只需花费几小时的时间,了解:

? ? ? 什么是设计模式?

? ? ? 设计模式的作用是什么?

? ? ? 设计模式都有哪些?

? ? ? 每个模式都是怎么回事?

? ? ? 每个模式都适用什么场合?

? ? ? 这样,在你熟练应用之前,有个大概的印象就足够了。

?

上述只是我自己的学习看法,不代表任何权威。

?

什么是设计模式?

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结.

个人理解:软件设计的某些特定场合的某些问题的解决思路. 是前人经过大量的实践,总结出来的无论从效率上,扩展性,复用性,可靠性等方面都显现出优势的解决思路。

?

设计模式的作用是什么?

设计的重用;?

为设计提供共同的词汇,每个模式名就是一个设计词汇,其概念使得程序员的交流变得方便;?

在开发文档中采用模式词汇可以让其他人更容易理解你的想法。?

?

设计模式都有哪些?

java中有23种设计模式:

Creational pattern(创建型模式)

?

1.抽象工厂模式 ? ? ? ? AbstractFactory

2.建造者/生成器模式 ?Builder

3.工厂方法模式 ? ? ? ? Factory Method

4.原型模式 ? ? ? ? ? ? ? Prototype

5.单例模式 ? ? ? ? ? ? ? Singleton

?

Structural pattern(结构型模式)

?

1.适配器模式 Adapter

2.桥接模式 ? Bridge

3.组合模式 ? Composite

4.装饰模式 ? Decorator

5.外观模式 ? Facade

6.享元模式 ? Flyweight

7.代理模式 ? Proxy

?

Behavioral pattern (行为型模式)

?

1.职责链模式 ? ? Chain of Responsibility

2.命令模式 ? ? ? ?Command

3.解释器模式 ? ? Interpreter

4.迭代器模式 ? ? Iterator

5.中介者模式 ? ? Mediator

6.备忘录模式 ? ? Memento

7.观察者模式 ? ? Observer

8.状态模式 ? ? ? ?State

9.策略模式 ? ? ? ?Strategy

10.模板方法模式 ?Template Method

11.访问者模式 ? ? Visitor

?

? ? ? 由于博客的篇幅过长可读性不好,所以将 "每个模式都是怎么回事?与每个模式都适用什么场合?" 的描述,转移到另外一篇博文: ?《设计模式中每个模式的原理与应用场合》。

?

热点排行