设计模式一览
2015-08-08 15:13
225 查看
1,什么是设计模式?
模式的定义:
在某情景下,针对某个问题的某种解决方案。
根据定义,里面有三个名词分别是情景,问题,解决方案。
这三个名词解释如下:
情景指的是是应用某个模式的情况。
问题指的是在某种情景下想要完成的目标。
解决方案指的是为了完成目标所进行的一个通用的设计。
以迭代器模式为例(后续会将):
情景是:你拥有一个对象的集合。
问题是:你需要走访集合中的每一个对象,而且不需要理会该集合的实现
解决方案:让类暴露出一个迭代器。利用它进行遍历。
2,设计模式分类
在这些众多的设计模式中,根据模式的目标可以分成三个不同的类目:创建型,行为型和结构型。
创建型模式涉及到对象的实例化,这类模式都提供了一个方法,将客户从所需要的实例化的对象中解耦
行为型模式都是涉及到类与对象如何交互以及分配职责。
结构型模式可以把类或对象组合到更大的结构中。
3,OO原则
1,封装变化
2,多用组合,少用继承
3,针对接口编程,不针对实现编程
4,为交互的对象之间的松耦合而努力
5,类应该对扩展开放,对修改关闭
6,依赖抽象,不要依赖具体类
7,只和朋友交谈
8,别找我,我会找你(上层结构调用下层结构)
9,类应该只有一个改变的理由(单一责任)
4,什么时候用设计模式?
当你设计时,应尽可能的用最简单的方式解决问题。你的目标是简单。而不是如何在这个问题上运用模式。
一开始先遵循面向对象的设计原则,建立最简单的代码已完成工作。在这个过程中,你看到有需要模式的地方,就用模式。
模式可能带来复杂性,如果没必要,我们绝对不需要这种复杂性。当你确信你的设计中有一个问题需要解决的时候,或者当你确定未来的可能会改变的时候,你可用采用模式。
相关文章推荐
- (2.2.1)设计模式一览
- 竹迩带你玩懂设计模式(2)-设计模式一览
- Android设计模式之23种设计模式一览
- Android设计模式之23种设计模式一览
- 一、设计模式一览
- 23种设计模式一览
- C++设计模式一览
- Android开发进阶:23种设计模式一览(设计模式教你追MM)
- C++ 设计模式 01:设计模式一览
- Android设计模式之23种设计模式一览
- Android设计模式之23种设计模式一览
- 设计模式---->经典设计模式一览
- 设计模式---->经典设计模式一览
- 各种设计模式一览
- 设计模式——经典设计模式一览
- 乐在其中设计模式(C#) - 享元模式(Flyweight Pattern)
- 设计模式-快餐简解-【建造者模式】
- 抽象工厂设计模式学习[摘]
- 老生常谈设计模式系列文章索引
- 设计模式之创建性模式