大话设计模式宏观总结——创建型&结构型&行为型
师傅验收项目的时候。问大话设计模式那三种类型的差别和联系是什么,顿时我傻了眼。由于除了知道这三种类型分别如何称呼以外。从来都没想过为什么这样划分?于是,我便回答:我没想过这个问题。若是从字面上来理解的话,创建型应该负责的框架,结构型负责的应该是内部结构吧~然后师傅没说对错。仅仅是说,无论自己是如何理解的。都要学会去验证~
然后,我非常自觉地开启了新的一篇博客总结之旅~
导图
创建型模式
结构型模式
行为型模式
分类总结
我们通常依据两条准则对模式进行分类,第一条准准则是目的,例如以下表所看到的:
创建型模式与对象的创建有关;结构型模式处理类或对象的组合,它採用继承机制来组合接口或实现(类结构型模式),或者通过组合一些对象,从而实现新的功能(对象结构型模式);行为型模式对类或对象如何交互和如何分配职责进行描写叙述。
第二是范围准则,指定模式主要是用于类还是用于对象。类模式处理类和子类之间的关系。这些关系通过继承建立,是静态的。在编译时刻便确定下来了。对象模式处理对象间的关系。这些关系在执行时刻是能够变化的,更具动态性。
从某种意义上来说。差点儿全部模式都使用继承机制,所以“类模式”仅仅指那些集中于处理类间关系的模式,而大部分模式都属于对象模式的范畴。
创建型类模式将对象的部分创建工作延迟到子类,而创建型对象模式则将它延迟到还有一个对象中。
结构型类模式使用继承机制来组合类。而结构型对象模式则描写叙述了对象的组装方式。
行为型类模式使用继承描写叙述算法和控制流。而行为型对象模式则描写叙述一组对象如何协作完毕单个对象所无法完毕的任务。
我的理解
创建型模式为其它两种模式使用提供了环境,好比VS软件提供了.net环境和操作平台,是各种编程语言能随心所欲地在这个平台上编译运行;
结构型模式側重于接口的使用(自我感觉)。它做的一切工作都是对象或是类之间的交互,提供一个门,成就一个你来我往。协同合作的地球村;
行为型模式顾名思义,側重于详细行为。所以概念中才会出现职责分配和算法通信等内容。
将三者结合起来成为故事。中美合作的故事——创建型模式提供国际环境。无战争。求发展;结构型模式为中美合作提供理由。即和平时代的互利共赢,行为型模式就详细到两个大国之间是怎样合作。比方经济合作、文化合作等~
大话设计模式宏观总结——创建型&结构型&行为型的更多相关文章
- (转)Java经典设计模式(2):七大结构型模式(附实例和详解)
原文出处: 小宝鸽 总体来说设计模式分为三大类:创建型模式.结构型模式和行为型模式. 博主的上一篇文章已经提到过创建型模式,此外该文章还有设计模式概况和设计模式的六大原则.设计模式的六大原则是设计模式 ...
- Java开发中的23种设计模式详解(2)结构型
我们接着讨论设计模式,上篇文章我讲完了5种创建型模式,这章开始,我将讲下7种结构型模式:适配器模式.装饰模式.代理模式.外观模式.桥接模式.组合模式.享元模式.其中对象的适配器模式是各种模式的起源,我 ...
- 设计模式(11)--Flyweight(享元模式)--结构型
作者QQ:1095737364 QQ群:123300273 欢迎加入! 1.模式定义: 享元模式是对象的结构模式.享元模式以共享的方式高效地支持大量的细粒度对象. 2.模式特点: 享元模 ...
- 设计模式06: Adapter 适配器模式(结构型模式)
Adapter 适配器模式(结构型模式) 适配(转换)的概念无处不在:电源转接头.电源适配器.水管转接头... 动机(Motivation)在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象 ...
- 设计模式09: Decorator 装饰模式(结构型模式)
Decorator 装饰模式(结构型模式) 子类复子类,子类何其多加入我们需要为游戏中开发一种坦克,除了不同型号的坦克外,我们还希望在不同场合中为其增加以下一种多种功能:比如红外线夜视功能,比如水路两 ...
- Java设计模式15:常用设计模式之享元模式(结构型模式)
1. Java之享元模式(Flyweight Pattern) (1)概述: 享元模式是对象池的一种实现,英文名为"Flyweight",代表轻量级的意思.享元模式用来 ...
- Java设计模式07:常用设计模式之装饰器模式(结构型模式)
1. Java之装饰器模式(Decorator Pattern) (1)概述: 装饰模式在Java种使用也很广泛,比如我们在重新定义按钮.对话框等时候,实际上已经在使用装饰模式了.在不必改变原 ...
- 设计模式(8)--Decorator--装饰器模式--结构型
1.模式定义: 装饰模式又名包装(Wrapper)模式.装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案. 2.模式特点: 装饰模式能够实现动态的为对象添加功能,是从一个对象 ...
- 设计模式--享元模式Flyweight(结构型)
一.享元模式 在一个系统中如果有多个相同的对象,这些对象有部分状态是可以共享的,我们运用共享技术就能有效地支持大量细粒度的对象. 二.例子 举个围棋的例子,围棋的棋盘共有361格,即可放361个棋子. ...
随机推荐
- 【译】x86程序员手册23-6.5组合页与段保护
6.5 Combining Page and Segment Protection 组合页与段保护 When paging is enabled, the 80386 first evaluates ...
- 最优化方法系列:Adam+SGD—>AMSGrad
自动调参的Adam方法已经非常给力了,不过这主要流行于工程界,在大多数科学实验室中,模型调参依然使用了传统的SGD方法,在SGD基础上增加各类学习率的主动控制,以达到对复杂模型的精细调参,以达到刷出最 ...
- java项目其他基础配置
创建完maven项目之后. 1.pom.xml文件配置项目相关的架包. 2.src.main.resources下边 创建文件夹:spring以及mapper. 3.src.main.resource ...
- 母牛的故事(hdoj 2018,动态规划递推,详解)
有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Sample Input2450Sample Output246 / ...
- C++异常:exception
基本知识 下图表示了标准异常的继承关系 exception是所有标准异常的基类,自定义异常也需要继承exception,如下例: #include "pch.h" #include ...
- 集合:ListIterator
why ? when ? how ? what ? Java 集合框架图 有了 Iterator 为什么还要有 ListIterator 呢? Iterator 遍历的时候如果你想修改集合中的元素怎么 ...
- 深度完整的了解MySQL锁
今天就讲讲MySQL的锁 主讲:Mysql的悲观锁 和 乐观锁官方:If you query data and then insert or update related data within th ...
- Python进阶-打包程序为exe
操作系统:win7 x64 运行环境:Python3.5 安装PyInstaller 第一步:下载PyInstaller https://github.com/pyinstaller/pyinstal ...
- 洛谷 3959 宝藏 NOIP2017提高组Day2 T2
[题解] 状压DP. f[i]表示现在的点是否连接的状态是i. #include<cstdio> #include<cstring> #include<algorithm ...
- java8的LocalDateTime真心好用(补充Period.between的大坑)
LocalDateTime.LocalDate是java8新增的时间工具类,最近使用后,真心觉得强大好用,推荐文章:https://www.liaoxuefeng.com/article/001419 ...