设计模式一览

来源:互联网 发布:excel数据清洗方法 编辑:程序博客网 时间:2024/05/19 03:42

1,什么是设计模式?

模式的定义:

在某情景下,针对某个问题的某种解决方案。


根据定义,里面有三个名词分别是情景,问题,解决方案。

这三个名词解释如下:

情景指的是是应用某个模式的情况。

问题指的是在某种情景下想要完成的目标。

解决方案指的是为了完成目标所进行的一个通用的设计。


以迭代器模式为例(后续会将):

情景是:你拥有一个对象的集合。

问题是:你需要走访集合中的每一个对象,而且不需要理会该集合的实现

解决方案:让类暴露出一个迭代器。利用它进行遍历。

2,设计模式分类

在这些众多的设计模式中,根据模式的目标可以分成三个不同的类目:创建型,行为型和结构型。


创建型模式涉及到对象的实例化,这类模式都提供了一个方法,将客户从所需要的实例化的对象中解耦

行为型模式都是涉及到类与对象如何交互以及分配职责。

结构型模式可以把类或对象组合到更大的结构中。





3,OO原则

1,封装变化

2,多用组合,少用继承

3,针对接口编程,不针对实现编程

4,为交互的对象之间的松耦合而努力

5,类应该对扩展开放,对修改关闭

6,依赖抽象,不要依赖具体类

7,只和朋友交谈

8,别找我,我会找你(上层结构调用下层结构)

9,类应该只有一个改变的理由(单一责任)


4,什么时候用设计模式?

当你设计时,应尽可能的用最简单的方式解决问题。你的目标是简单。而不是如何在这个问题上运用模式。

一开始先遵循面向对象的设计原则,建立最简单的代码已完成工作。在这个过程中,你看到有需要模式的地方,就用模式。

模式可能带来复杂性,如果没必要,我们绝对不需要这种复杂性。当你确信你的设计中有一个问题需要解决的时候,或者当你确定未来的可能会改变的时候,你可用采用模式。




0 0
原创粉丝点击