设计模式总结(二)

简介: 设计模式可分为三种:创建型设计模式,结构型设计模式和行为型设计模式。一、创建型设计模式在设计模式中,创建型设计模式处理对象创建过程的设计模式,它根据实际情况来决定具体怎样创建对象。

设计模式可分为三种:创建型设计模式,结构型设计模式和行为型设计模式。

一、创建型设计模式

在设计模式中,创建型设计模式处理对象创建过程的设计模式,它根据实际情况来决定具体怎样创建对象。创建型模式隐藏了类的实例是如何创建和放在一起,整个系统关于对象所知道的是由抽象类所定义的接口。这样创建模式在创建了什么、谁创建它、怎么被创建的,以及何时创建这些方面提供了很大的灵活性。

创建型设计模式又分为类创建型模式和对象创建型模式:类创建型模式是将对象的创建推迟到子类中;而对象创建型模式是将对象创建的一部分推迟到子类中。创建型设计模式增强了对象与类之间的独立性。

创建型设计模式一般用于一下情况:

1.系统和对象的创建相互独立

2.一组相关的对象设计为一起使用

3.隐藏类库的实现过程,只需显示它的接口

4.创建独立复杂对象的不同表示

5.子类实现类所创建的对象

6.在运行时实现类的实例化

7.实例在不修改的情况下具有扩展性

8.一个类只能有一个实例,且这个实例能在任何时候被访问

二、结构型设计模式

机构型设计模式是描述如何组合对象以获得一个更大的结构,不是对接口和实现的组合。它是从程序的结构式解决模块之间的耦合问题。

结构型设计模式对对象进行组合以获取更大结构的方法包括:统一、概括和分离

1.统一:达到一致

统一描述了对象组合的一个主题,通过统一便于用户的使用和扩展。在结构模式中可以归入该主题的有适配器模式和组合模式。

2.概括:提高抽象

概括是对一些对象进行抽象和提取然后提供给用户使用。这样既便于用户的使用又便于对底层的被概括对象进行扩展和维护,在结构模式中可以归入该主题的模式有外观模式。

3.分离:降低耦合,便于扩展

分离可以说是很多模式的一个主题,不光是结构型模式,创建型模式中也有大量以分离为主题的设计模式。通过分离可以解耦关联增强对象间的独立。在结构模式中可归入该主题的模式有桥接模式、装饰器模式、享元模式和代理模式。

三、行为型设计模式

行为型模式设计到算法和对象间的职责分配,不仅描述对象或类的模式,还描述它们之间的通信方式,刻划了运行时难以跟踪的复杂的控制流,它们将你的注意力从控制流转移到对象间的关系上来。行为型类模式采用继承机制在类间分派行为;行为对象模式使用对象复合而不是继承。一些行为对象模式描述了一组相互对等的对象如何相互协作以完成其中任何一个对象都单独无法完成的任务;其它的行为对象模式常将行为封装封装在一个对象中,并将请求指派给它。

 

目录
相关文章
|
3月前
|
设计模式 自动驾驶 NoSQL
设计模式总结(一)
设计模式总结(一)
|
9月前
|
设计模式 程序员
设计模式 | 模版方法
设计模式 | 模版方法
57 0
|
9月前
|
设计模式
职责链设计模式解读
职责链设计模式解读
|
9月前
|
设计模式
|
11月前
|
设计模式 存储 NoSQL
为什么我们需要设计模式?
设计模式解决什么问题设计模式一直被认为是一门难以学习的课程。究其原因是因为我们不清楚设计模式在解决哪些问题方面发挥作用。简言之,设计是为了实现特定的目标,基于不断更新的局部知识来获得解决方案的过程。我们通常熟悉的范式是在几乎掌握所有知识的情况下解决问题,例如解数学题、物理题等。然而,在软件编程过程中,我们掌握的知识往往不充分,而且会不断更新,因此需要我们关注有哪些知识,没有哪些知识,可以获取哪些知
9295 1
|
存储 设计模式 缓存
|
设计模式 Java
设计模式的三大类
设计模式的三大类
180 0
设计模式的三大类
|
设计模式 算法
设计模式及适用场景
设计模式及适用场景
|
算法 C# uml
C#设计模式总结
原文:C#设计模式总结 一、引言   经过这段时间对设计模式的学习,自己的感触还是很多的,因为我现在在写代码的时候,经常会想想这里能不能用什么设计模式来进行重构。所以,学完设计模式之后,感觉它会慢慢地影响到你写代码的思维方式。
1561 0