概述:3种设计模式

简介:      什么是设计模式?     设计模式的每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心.这样,你就能一次又一次地使用该方案而不必做重复劳动.     设计模式让我们站在了巨人的肩膀上,告诉我们不是解决任何问题都是要从头开始的。

  

  什么是设计模式?

    设计模式的每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心.这样,你就能一次又一次地使用该方案而不必做重复劳动.

    设计模式让我们站在了巨人的肩膀上,告诉我们不是解决任何问题都是要从头开始的。

3种设计模式

首先来看设计模式是如何分类的:


 我们根据根据两条准则对设计模式进行分类:

1,目的准则:

模式是用来完成什么工作的。

模式依据其目的可分为:创建型,结构型,行为型.

其中:

   创建型模式与对象的创建有关;

   结构型模式处理类或对象的组合;

   行为型模式对类或对象怎样交互和怎样分配职责进行描述;

2,规范准则

指定模式主要是用于类还是用于对象;

类模式处理类和和子类之间的关系,这些关系通过继承建立,是静态的,在编译时刻便确定了下来。

对象模式处理对象间的关系,这些关系在运行时刻是可以变化的,所以类模式只指那些集中于处理类间关系的模式,而大部分模式都属于对象模式的范畴。


将两条准则综合:

  创建型类模式将对象的部分工作延迟到子类,而创建型对象模式将它延迟到另一个对象中。

  结构型类模式使用继承机制来组合类,而结构型对象模式则描述了对象的组装方式。

  行为型类模式使用继承描述算法和控制流,而行为型对象模式则描述一组对象怎样协作完成单个对象无法完成的任 务。


了解了这3类设计模式之后,在使用设计模式的时候,就要涉及到模式的选择问题了。


如何选择设计模式?

1,考虑设计模式是怎样解决设计问题的

2,浏览模式的意图部分

3,研究模式之间怎样相互联系

4,研究目的相似的模式

5,检查重新设计的原因

6,考虑你的设计哪些是可变的


PS:各种模式间关系



小结

   目前,大致学完设计模式,感觉自己的理解还不是很到位,因为自己第一步的学习时,主要关注的还是每种模式的用途和这些模式的大致的分类情况,对于各种模式之间的关系还要继续学习。求高手指点~




  注:参考书籍:《设计模式:可复用面向对象软件基础》






目录
相关文章
|
20天前
|
设计模式 算法 搜索推荐
设计模式概述
设计模式是软件工程中的最佳实践,帮助开发者解决常见问题,提高代码的可重用性、可读性和可靠性。学习设计模式可以提升思维能力、标准化程序设计、增强代码质量。文章介绍了设计模式的分类(创建型、结构型、行为型)及其在流行框架中的应用,建议读者掌握SOLID原则并深入学习GoF的23种设计模式。
65 3
设计模式概述
|
5月前
|
设计模式
设计模式简介
设计模式简介
|
8月前
|
设计模式 开发框架 算法
C++中的设计模式:基本概念与应用
C++中的设计模式:基本概念与应用
77 2
|
设计模式 开发框架 算法
设计模式概述以及 23种设计模式的介绍
设计模式概述以及 23种设计模式的介绍
454 0
设计模式概述以及 23种设计模式的介绍
|
设计模式 算法 关系型数据库
设计模式——设计模式简介、分类及面向对象设计原则
23 种设计模式中有些模式今天已经不流行了,有些模型已经被语言机制替代了,有些模式你可能常常会忘记,但这些都不重要,重要的是设计原则,因为有了这些设计原则,你有可能发明自己的模式,你也可以理解未来千千万万其他领域的模式。
108 1
|
设计模式 算法 程序员
设计模式之设计模式概述
设计模式之设计模式概述
117 0
|
设计模式 C++
设计模式简介
设计模式简介
84 0
|
设计模式 存储 消息中间件
23种设计模式汇总概述之行为型模式
行为型模式:类和对象如何交互,及划分责任和算法。
186 2
23种设计模式汇总概述之行为型模式
|
设计模式 缓存 安全
23种设计模式汇总概述之创建型模式
创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程。
225 1
23种设计模式汇总概述之创建型模式
|
设计模式 存储 安全
23种设计模式汇总概述之结构型模式
结构型模式:把类或对象结合在一起形成一个更大的结构。
233 1
23种设计模式汇总概述之结构型模式