设计模式的分类

设计模式的分类有很多种方法,本文主要介绍GOF(Gangof Four)设计模式分类和POSA(Pattern-Oriented Software Architectur,面向模式的软件架构)设计模式分类。

7.2.1 GOF设计模式分类

20 世纪 90年代,Erich Gamma 等4人,也就是通常所说的 GOF(Gang of Four,"四人帮")从建筑设计领域将设计模式引人到计算机科学领域时,根据以下两条准则对设计模式进行了分类。第一,根据目的准则,设计模式可分为创建型(Creational)、结构型(Structural)、行为型(Behavioral)三种;第二,根据范围准则,设计模式可分为类模式和对象模式,类模式处理类和子类之间的关系,这些关系通过继承建立,是静态的,在编译时刻已经确定下来了。对象模式处理对象之间的关系,这些关系在运行时刻是可以变化的,具有动态性。依据以上两种分类准则,表7.1形象地表示出了设计模式的分类。

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

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

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

相关推荐
geovindu13 小时前
rust:Builder Pattern
开发语言·设计模式·rust·建造者模式
艾芯微科技14 小时前
B16WS SOD-323 肖特基二极管参数、应用电路与选型踩坑指南
网络·单片机·嵌入式硬件·集成测试·51单片机
小王师傅6614 小时前
【设计模式】装饰模式(三):从装饰模式看 Java 与面向对象设计(原理篇)
设计模式
Zane199417 小时前
从一次支付渠道扩展需求,看懂"多用组合少用继承"到底在说什么
设计模式
李航198317 小时前
用 DeepDraw 几何引擎开发建筑设计软件(六):创建画线工具
python·软件构建
geovindu18 小时前
CSharp:Condition Variable Pattern
后端·设计模式·c#·.net·.netcore·条件变量模式·同步型模式
geovindu18 小时前
sql: Data Modeling Patterns using mysql
sql·mysql·设计模式·数据库开发
摸鱼仙人~18 小时前
Vue 应用完整启动链路
前端·vue.js·软件工程
郝学胜-神的一滴19 小时前
C++20模板元编程 02:吃透模板基础核心四大核心知识点
开发语言·数据结构·c++·程序人生·软件工程·visual studio
架构谨制@涛哥19 小时前
知识工程-4.超越RAG:OKF会如何取代矢量数据库吗?
人工智能·软件工程·软件构建·知识图谱