师傅验收项目的时候,问大话设计模式那三种类型的区别和联系是什么,顿时我傻了眼,因为除了知道这三种类型分别怎样称呼以外,从来都没想过为什么这样划分?于是,我便回答:我没想过这个问题,若是从字面上来理解的话,创建型应该负责的框架,结构型负责的应该是内部结构吧~然后师傅没说对错,只是说,不管自己是如何理解的,都要学会去验证~
然后,我很自觉地开启了新的一篇博客总结之旅~
导图
创建型模式
结构型模式
行为型模式
分类总结
我们通常根据两条准则对模式进行分类,第一条准准则是目的,如下表所示:
创建型模式与对象的创建有关;结构型模式处理类或对象的组合,它采用继承机制来组合接口或实现(类结构型模式),或者通过组合一些对象,从而实现新的功能(对象结构型模式);行为型模式对类或对象怎样交互和怎样分配职责进行描述。
第二是范围准则,指定模式主要是用于类还是用于对象。类模式处理类和子类之间的关系,这些关系通过继承建立,是静态的,在编译时刻便确定下来了。对象模式处理对象间的关系,这些关系在运行时刻是可以变化的,更具动态性。从某种意义上来说,几乎所有模式都使用继承机制,所以“类模式”只指那些集中于处理类间关系的模式,而大部分模式都属于对象模式的范畴。
创建型类模式将对象的部分创建工作延迟到子类,而创建型对象模式则将它延迟到另一个对象中。结构型类模式使用继承机制来组合类,而结构型对象模式则描述了对象的组装方式。行为型类模式使用继承描述算法和控制流,而行为型对象模式则描述一组对象怎样协作完成单个对象所无法完成的任务。
我的理解
创建型模式为其他两种模式使用提供了环境,好比VS软件提供了.net环境和操作平台,是各种编程语言能随心所欲地在这个平台上编译执行;
结构型模式侧重于接口的使用(自我感觉),它做的一切工作都是对象或是类之间的交互,提供一个门,成就一个你来我往,协同合作的地球村;
行为型模式顾名思义,侧重于具体行为,所以概念中才会出现职责分配和算法通信等内容。
将三者结合起来成为故事,中美合作的故事——创建型模式提供国际环境,无战争,求发展;结构型模式为中美合作提供理由,即和平时代的互利共赢,行为型模式就具体到两个大国之间是如何合作,比如经济合作、文化合作等~