软件体系结构的风格和设计模式等

合集下载

软件体系结构

软件体系结构

7
践者提供设计体系结构更好的方法,以便设计人员相互交流,并可以使 用支持体系结构描述语言的工具来分析案例。 这些内容将在第5 章介绍。 第二类是体系结构领域知识的总结性研究。这一领域关心的是工程 师通过软件实践总结而来各种体系结构原则和模式的分类和阐释。 第三类是针对特定领域的框架 [SEI90,Tra94] 的研究。这类研究产生 了针对一类特殊软件的体系结构框架,比如,航空电子控制系统、移动 机器人、用户界面。这类研究一旦成功,这样的框架便可以被毫不费力 实例化来生产这一领域新的产品。这部分内容将在第 7 章介绍。 第四类是软件体系结构形式化支持的研究。随着新的符号的产生, 以及人们对体系结构设计实践的理解逐步深入,需要用一种严格的形式 化方法刻画软件体系结构及其相关性质。这些内容将在第 5 章介绍。
8
设计或实现中一种特殊的重复出现的问题。例如,Bridge 模式,它为解 决抽象部分和实现部分独立变化的问题提供了一种通用结构。因此,设 计模式更强调直接复用的程序结构。 3. 应用框架(Application Framework) 应用框架是整个或部分系统的可重用设计,表现为一组抽象构件的 集合以及构件实例间交互的方法。可以说,一个框架是一个可复用的设 计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的 依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协 作的方法,它为构件复用提供了上下文 (Context) 关系。在很多情况下, 框架通常以构件库的形式出现,但构件库只是框架的一个重要部分。框 架的关键还在于框架内对象间的交互模式和控制流模式 [2]。 设计模式是对在某种环境中反复出现的问题以及解决该问题的方 案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复 用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的 元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特 定应用领域,但同一模式却可适用于各种不同的应用。体系结构风格描 述了软件系统的整体组织结构,它独立于实际问题。而设计模式和应用 框架更加面向具体问题。 体系结构风格、设计模式和应用框架的概念是从不同的目的和出发 点讨论软件体系结构,它们之间的概念经常互相借鉴和引用。

20种软件架构风格

20种软件架构风格

1、管道过滤器风格(1)特点:①在管道过滤器风格下,每个功能模块都有一组输入和输出。

功能模块称作过滤器;功能模块间的连接可以看作输入、输出数据流之间的通路,称作管道。

②管道-过滤器风格的特性之一在于过滤器的相对独立性,即过滤器独立完成自身功能,相互之间无需状态交互。

③从解耦的角度:每个过滤器之间都是解耦的,每个过滤器都专注于自己的职责。

过滤器是独立运行的组件;过滤器对其处理上下连接的过滤器“无知”;结果的正确性不依赖于各个过滤器运行的先后次序。

(解耦的好处)解耦能够保持组件之间的自主和独立。

它的直接结果就是改动成本低,维护成本低,可读性高。

(2)优点:①由于每个组件行为不受其他组件的影响,整个系统的行为易于理解。

②管道-过滤器风格支持功能模块的复用。

(任何两个过滤器,只要它们之间传送的数据遵守相同的规约,就可以相连接。

)③基于管道-过滤器风格的系统具有较强的可维护性和可扩展性。

④支持一些特定的分析,如吞吐量计算和死锁检测等。

(3)缺点:①管道-过滤器风格往往导致系统处理过程的成批操作。

②根据实际设计的需要,设计者需要对数据传输进行特定的处理(如加密),导致过滤器必须对输入、输出管道中的数据流进行解析和反解析,增加了过滤器具体实现的复杂性。

③交互式处理能力弱。

(4)实例:①传统的编译器,一个阶段的输入是另一个阶段的输出。

②Unix和DOS中的管道操作符‘|’:将符号‘|’之前的命令的输出作为‘|’之后命令的输入。

2、事件驱动风格(1)基本思想:不直接调用一个过程,而是发布或广播一个或多个事件。

系统中的其它组件通过注册与一个事件关联起来的过程,来表示对某一个事件感兴趣。

当这个事件发生时,系统本身会调用所有注册了这个事件的过程。

这样一个事件的激发会导致其它模块中过程的隐式调用。

(2)从解耦的角度:系统组件松耦合。

在系统执行的过程中,可以并行处理不可预期的事件发生。

观察者模式:让多个观察者对象同时监听某一主题对象,当该对象状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。

软件体系结构

软件体系结构

第21页
第一章 概述
软件体系结构的意义
1.5 软件体系结构的意义
软件体系结构是早期设计决策的体现:
明确了对系统实现的约束条件 决定了开发和维护组织的结构
制约着系统的质量属性
通过研究软件体系结构可以预测软件的质量 使推理和控制软件更新更加有效 有助于循序渐进的原型设计 可以作为培训的基础
《软件体系结构》 黑龙江大学计算机科学技术学院 版权所有© 2006-2007
《软件体系结构》 黑龙江大学计算机科学技术学院 版权所有© 2006-2007
第14页
第一章 概述
概念
构件(Component)
1.3 软件体系结构的概念和术语
构件是语义完整、语法正确和有重用价值的单位软件。 一般来说,任何在系统运行过程中承担一定功能、发挥一定
作用的软件体都可以看作是构件,譬如设备驱动程序、函数
模块;也可以是一个独立的软件,如数据库服务器。 连接件把不同的构件连接起来形成软件系统。它可以是过程
调用、管道、远程方法调用等等。
约束一般为构件连接时的规则、条件或方式。
《软件体系结构》 黑龙江大学计算机科学技术学院 版权所有© 2006-2007
第11页
第一章 概述
补充说明
1.2 软件体系结构的定义
第20页
第一章 概述
软件体系结构的意义
1.5 软件体系结构的意义
软件体系结构是风险承担者进行交流的手段:系统的
各个风险承担者(客户、项目管理人员、设计开发人 员、测试人员、集成人员)把软件体系结构作为各自
关心的不同方面的描述,并以此作为相互沟通,达成
共识的基础。
《软件体系结构》 黑龙江大学计算机科学技术学院 版权所有© 2006-2007

软件体系结构

软件体系结构
对模式的组合没有提供良好的支持。模式在 定义时并没有表示出模式之间的相关性
19
Part 9:软件体系结构设计
P9-1、设计方法
9.1.1、领域模型驱动的SA设计 9.1.2、模式驱动SA设计
9.1.3、用况驱动的SA设计
9.1.4、工件驱动的SA设计 9.1.5、属性驱动的SA设计
9.1.3、用况驱动的SA设计
9.2.5、体系结构实现
体系结构实现过程:
复审后的文档化体系结构
分析与设计 构件实现 构件库 构件组装 系统测试 体系结构演化
46
Part 9:软件体系结构设计
P9-2、设计过程
9.2.1、体系结构需求 9.2.2、体系结构设计 9.2.3、体系结构文档化 9.2.4、体系结构复审 9.2.5、体系结构实现 9.2.6、体系结构演化
9.2.4、体系结构复审
SA的相关文档 问题或场景列表 特定的质量属性 …… 分析方法
潜在的风险? SA满足质量属性?
SA复审(分析)
需要调整的内容 ……
44
Part 9:软件体系结构设计
P9-2、设计过程
9.2.1、体系结构需求 9.2.2、体系结构设计 9.2.3、体系结构文档化 9.2.4、体系结构复审 9.2.5、体系结构实现 9.2.6、体系结构演化
39
一种SA设计过程:
需求库
需求获取
体系结构模型 映射构件
标 识 构 件
生成类图
对类进行分组
分析构件相互作用
把类打包成构件 产生体系结构
体系结构模型 评审 验证
40
Part 9:软件体系结构设计
P9-2、设计过程
9.2.1、体系结构需求 9.2.2、体系结构设计 9.2.3、体系结构文档化 9.2.4、体系结构复审 9.2.5、体系结构实现 9.2.6、体系结构演化

软件设计与体系结构知识点

软件设计与体系结构知识点

1.软件设计的特征(1)软件设计的开端是出现某些新的问题需要软件来解决,这些需要促使设计工作的开始,并成为整个设计工作最初的基础(2)软件设计的结果是给出一个方案,它能够用来实现所需的、可以解决问题的软件,方案的描述可能是文字、图表,甚至数学符号、公式等组成的文档或模型(3)软件设计包含一系列的转换过程,即把一种描述或模型转换为另一种描述或模型,转换后的形态可能更加具体,或更接近于实现(4)产生新的想法或思路对软件设计非常重要,因为设计也是一个创造性的过程,不同的问题或需求总会存在各自的特点,即使同样的问题在不同时期和环境下也会存在区别,因此设计不会是一成不变的(5)软件设计的过程是不断解决问题和实施决策的过程,因为整个设计是解决一个大的问题,在设计过程中将会分解成众多小问题,涉及真需要一次解决这些小的问题,并在出现多种方案或策略时进行决策,选择其中最合适的(6)软件设计也是一个满足各种约束的过程,因为软件可能在性能、运行环境、开发时间、成本、人员技术水平等各个方面存在约束,设计必须在满足这些约束的情况下给出最佳的设计方案(7)大多数的软件实际是一个不断演化的过程,因为需求在一开始很可能是不完整或不精确的,在设计过程中还会不断发生变化并逐步稳定下来,因此设计需要根据需求的变化而不断演化。

2.软件设计的要素( 1 ) 目标描述 ( 2 ) 设计约束 ( 3 ) 产品描述 ( 4 ) 设计原理 ( 5 ) 开发规划 ( 6 ) 使用描述3.软件设计体系的定义( 1 )软件设计体系结构是软件系统的结构,包含软件元素、软件元素外部可见的属性以及这些软件元素之间的关系( 2 )软件体系结构是软件系统的基本组织,包含构建、构件之间、构件与环境之间的关系,以及相关的设计与演化原则4.软件设计的主要活动( 1 ) 软件设计计划 ( 2 ) 体系结构设计 ( 3 ) 界面设计 ( 4 ) 模块/子系统设计 ( 5 ) 过程/算法设计( 6)数据模型设计5.体系结构“4+1 ”多视图建模( 1 )逻辑视图:该视图关注功能需求,即系统应该为最终用户提供什么服务,它与应用领域精密相关( 2 )进程视图:该视图捕获设计中关于并发和同步的内容,重视一些非功能需求,例如性能、可扩展性等,定义了运行实体和它们的属性。

精品PPT课件--第9章软件体系结构与设计模式

精品PPT课件--第9章软件体系结构与设计模式
在组织形式上,框架是一个待实例化的完整系统,定义 了软件系统的元素和关系,创建了基本的模块,定义了涉 及功能更改和扩充的插件位置。典型的框架例子有MFC框 架和Struts框架。
9.1 软件体系结构的基本概念
• 体系结构的重要作用
体系结构的重要作用体现在以下三个方面 : (1)体系结构的表示有助于风险承担者(项目干系
层次结构具有以下优点: (1)支持基于抽象程度递增的系统设计,使设计者可以把
一个复杂系统按递增的步骤进行分解。 (2)支持功能增强,因为每一层至多和相邻的上下层交
互,因此,功能的改变最多影响相邻的内外层。
9.2 典型的体系结构风格
(3)支持复用。只要提供的服务接口定义不变,同一层的 不同实现可以交换使用。这样,就可以定义一组标准 的接口,从而允许各种不同的实现方法。
9.1 软件体系结构的基本概念
2.风格
风格是带有一种倾向性的模式。同一个问题可以有不同 的解决问题的方案或模式,但我们根据经验,通常会强烈 倾向于采用特定的模式,这就是风格。
每种风格描述一种系统范畴,该范畴包括: (1)一组构件(如数据库、计算模块)完成系统需要的某
种功能; (2)一组连接件,它们能使构件间实现“通信”、“合作”
个对象的表示,而不影响其他对象。 (2)设计者可将一些数据存取操作的问题分解成一些交互
的代理程序的集合。
9.2 典型的体系结构风格
其缺点如下: (1)为了使一个对象和另一个对象通过过程调用等进行
交互,必须知道对象的标识。只要一个对象的标识 改变了,就必须修改所有其他明确调用它的对象。 (2)必须修改所有显式调用它的其他对象,并消除由此 带来的一些副作用。例如,如果A使用了对象B,C 也使用了对象B,那么,C对B的使用所造成的对A 的影响可能是料想不到的。

软件体系结构知识点完整

软件体系结构知识点完整

1、构件是核心和基础,重用是必需的手段。

2、软件重用是指在两次或多次不同的软件软件开发过程中重复使用相同或相近软件元素的过程。

3、软件元素包括程序代码、设计文档、设计过程、需求分析文档甚至领域知识。

4、把可重用的元素称作软构件,简称为软构件。

5、可重用软件元素越大,就说重用的粒度越大。

6、构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通信接口和代码实现的复合体。

7、面向对象技术达到类级重用,以类为封装的单位。

8、构件模型是对构件本质特征的抽象描述。

三个主要流派,分别是OMG(对象管理组织)的CORBA(通用对象请求代理结构)、Sun的EJB和Microsoft的DOM(分布式构件对象模型)。

9、获取构件的四个途径:(1)从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用构件。

(2)通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用构件。

(3)从市场上购买现成的商业构件,即COTS构件。

(4)开发符合要求的构件。

10、构件分类方法三大类:关键字分类、刻面分类法、超文本组织方法11、构件检索方法:基于关键字的检索、刻面检索法、超文本检索法和其他检索方法。

12、减少构件修改的工作量,要求工作人员尽量使构件的功能、行为和接口设计更为抽象画、通用化和参数化。

13、构件组装技术:基于功能的组装技术、基于数据的组装技术和面向对象的组装技术。

14、软件体系结构的定义:软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。

软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。

软件体系结构的意义:(1)体系结构是风险承担者进行交流的手段;(2)体系结构是早期设计决策的体现--①软件体系结构明确了对系统实现的约束条件②软件体系结构决定了开发和维护组织的组织结构③软件体系结构制约着系统的质量属性④通过研究软件体系结构可能预测软件的质量⑤软件体系结构使推理和控制更改更简单⑥软件体系结构有助于循序渐进的原型设计⑦软件体系结构可以作为培训的基础;(3)软件体系结构是可传递和可重用的模型。

软件工程中的软件体系结构与设计模式

软件工程中的软件体系结构与设计模式

软件工程中的软件体系结构与设计模式软件工程是一门涉及软件开发、维护、测试和管理的学科。

在软件工程的实践中,软件体系结构和设计模式是两个重要的概念。

本文将探讨软件体系结构与设计模式在软件工程中的应用和重要性。

一、软件体系结构软件体系结构是指软件系统的整体结构和组成部分之间的关系。

它描述了软件系统的组织方式、模块划分和模块之间的通信方式。

软件体系结构的设计对于软件系统的可维护性、可扩展性和可重用性具有重要影响。

在软件体系结构的设计中,常用的模式包括层次结构、客户端-服务器模式和发布-订阅模式等。

层次结构将软件系统划分为多个层次,每个层次都有特定的功能。

客户端-服务器模式将软件系统划分为客户端和服务器两个部分,客户端发送请求,服务器处理请求并返回结果。

发布-订阅模式中,发布者发布消息,订阅者接收消息。

软件体系结构的设计需要考虑多个因素,如系统的可靠性、性能、安全性和可维护性等。

一个好的软件体系结构应该能够满足系统的需求,并且易于理解和维护。

二、设计模式设计模式是在软件设计中常见问题的解决方案。

它们是经过验证的、可重用的设计思想,可以提高软件的可维护性和可扩展性。

设计模式可以分为三类:创建型模式、结构型模式和行为型模式。

创建型模式用于对象的创建,包括工厂模式、单例模式和原型模式等。

结构型模式用于对象之间的组合,包括适配器模式、装饰器模式和代理模式等。

行为型模式用于对象之间的通信,包括观察者模式、策略模式和命令模式等。

设计模式的应用可以提高软件系统的灵活性和可维护性。

通过使用设计模式,开发人员可以将系统的不同部分解耦,使其更易于修改和扩展。

此外,设计模式还可以提高代码的可读性,减少重复代码的编写。

三、软件体系结构与设计模式的关系软件体系结构和设计模式是紧密相关的概念。

软件体系结构提供了软件系统的整体框架,而设计模式提供了解决具体问题的方法。

在软件体系结构的设计中,设计模式可以用于解决不同层次和模块之间的通信问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.软件体系结构的性质、研究意义和目标是什么?
性质:计算机体系结构是程序员所看到的计算机的属性,即概念性结构与功能特性。

强调整体与部分,部分与部分的关系;研究系统构成的方法学;提倡多角度研究系统。

为什么研究软件体系结构?
软件系统要满足一定的需求(功能和质量)。

随着软件系统的日益复杂,公众对软件的要求已不局限于功能上的满足,而是更加注重质量。

软件的质量受到软件体系结构的限制,或者说体系结构的选择受到要达到的质量特征的影响。

软件体系结构是软件系统的高层结构,高度抽象,超越算法和数据结构,试图在软件需求与软件设计之间架起一座桥梁,解决结构和需求向实现平坦过渡。

现在软件产生的问题:
◎软件成本日益增长
◎开发进度难以控制
在软件开发过程中,用户需求变化等各种意想不到的情况层出不穷,令软件开发过程很难保证按预定的计划实现,给项目计划和论证工作带来了很大的困难。

◎软件质量差
缺乏工程化思想的指导,程序员以自己的想法去代替用户对软件的需求,软件设计带有随意性,很多功能只是程序员的“一厢情愿”而已。

◎软件维护困难
特别是在软件使用过程中,原来的开发人员可能因各种原因已经离开原来的开发组织,使得软件几乎不可维护
2. 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。

体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。

管道-过滤器风格:缺乏交互性,常用于通信领域和编译器
事件驱动风格:易于完成并发多任务,具有良好的交互性,但对计算机系统的控制能力弱,很难共享数据。

分层风格:系统分成许多层,每层为上层服务,同时获取下层的服务。

典型应用是网络协议。

仓库风格:数据单元被共享。

常用于专家系统,如自然语言理解和模式识别。

3.3 客户/服务器风格
C/S体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。

C/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。

服务器
(1)数据库安全性的要求;
(2)数据库访问并发性的控制;
(3)全局数据完整性规则;
(4)数据库的备份与恢复。

客户应用程序
(1)提供用户与数据库交互的界面;
(2)向数据库服务器提交用户请求并接收来自数据库服务器的信息;
(3)利用客户应用程序对存在于客户端的数据执行应用逻辑要求。

◎网络通信软件的主要作用是完成数据库服务器和客户应用程序之间的数据传输。

C/S体系结构将应用一分为二,服务器负责(后台)数据管理,客户机(前台)完成与用户的交互任务。

这是一种胖客户机瘦服务器的体系结构。

优点:
◎C/S体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。

◎系统的客户应用程序和服务器构件分别运行在不同的计算机上,对硬件和软件的变化显示出极大的适应性和灵活性,易于对系统进行扩充和缩小。

◎在C/S体系结构中,系统中的功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理。

传统的二层C/S结构存在的局限:
◎二层C/S结构是单一服务器且以局域网为中心的,难以扩展至大型企业广域网或Internet。

◎软、硬件组合和集成能力有限。

◎客户机负载太重。

◎数据安全性不好。

因为客户端程序可以直接访问数据库服务器,使数据库的安全性受到威胁。

三层C/S结构:增加一个应用服务器, 将应用逻辑驻留在应用服务器上,而表示层存在于客户机上,这种结构称为“瘦客户机”。

中间件:在三层C/S系统结构中,中间件是最重要的构件。

所谓中间件是一个用API定义的软件层,是具有强大通信能力和良好的可扩展性的分布式软件管理构架。

功能是在客户机和服务器或者服务器和服务器之间传送数据,实现客户机群和服务器群之间的通信。

优点:
◎允许合理地划分三层结构的功能,逻辑上保持相对独立性,提高系统的可维护性和可扩
展性。

◎允许更灵活有效地选用相应的平台和硬件系统,平台和各个组成部分具有良好的可升级性和开放性。

◎各层可选择各自最适合的语言并行开发。

◎利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层非法访问数据层,为严格的安全管理奠定基础。

3.5 浏览器/服务器风格
◎浏览器/服务器(B/S)风格就是三层应用结构的一种实现方式,其具体结构为:浏览器/Web 服务器/数据库服务器。

◎B/S体系结构利用不断成熟的WWW浏览器技术,用通用浏览器实现了原来需要复杂专用软件才能实现的强大功能,节约开发成本。

优点
◎系统安装、修改和维护全在服务器端解决。

用户在使用系统时,仅需一个浏览器就可运行全部模块,达到了“零客户端”。

◎B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的开放性基础。

缺点
◎B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。

◎B/S体系结构的系统扩展能力差,安全性难以控制。

◎采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。

◎B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用
B/S与C/S混合软件体系结构
◎B/S与C/S混合是一种典型的异构体系结构。

◎传统的C/S体系结构并非一无是处,而新兴的B/S结构也并非十全十美。

C/S结构和B/S 结构还将长期共存。

◇优点和缺点
◎优点是外部用户不直接访问数据库服务器,能保证企业数据库的相对安全。

企业内部用户交互性较强,数据查询和修改的响应速度较快。

◎缺点是企业外部用户修改和维护数据时,速度较慢,比较烦琐,数据的动态交互性不强。

3设计模式的组成
四要素
模式名称(pattern name)
助记名,用一两个词描述模式的问题、解决方案和效果。

问题(problem)
描述应该在何时使用该模式。

有时候,问题部分会包括使用模式必须满足的一系列先决条件。

解决方案(solution)
描述设计的组成成分,它们之间的相互关系及各自的职责和协作方式。

模式像一个模板,可应用于多种不同场合。

解决方案并不描述一个特定而具体的设计,而是提供设计问题的抽象描述,用具有一般意义的元素组合来解决这个问题。

效果(consequences)
描述模式应用的效果及使用模式应权衡的问题
移植性。

设计模式比框架更容易移植:框架一旦设计成形,以其为基础进行应用的开发显然要受制于框架的实现环境;而设计模式是与语言无关的,所以可以在更广泛的异构环境中进行应用。

框架是软件,而设计模式是软件的知识体,提升框架的设计水平。

模式,Pattern
应用领域。

框架给出的是整个应用的体系结构;而设计模式则给出了单一设计问题的解决方案,并且这个方案可在不同的应用程序或者框架中进行应用。

内容。

设计模式仅是一个单纯的设计,可被不同语言以不用方式来实现;而框架则是一种或多种设计模式和代码的混合体,编程者可以用各种方式对框架进行扩展,进而形成完整的不同的应用。

创建性模式(5种), 处理的是对象的创建过程
结构性模式(7种),处理的是对象/类的组合
行为性模式(13种),处理的是类和对象间的交互方式和任务分布
Factory Method(工厂模式)
Abstract Factory(抽象工厂模式)
Builder(建造模式)
Prototype(原型模式)
Singleton(单例模式)
Adapter (适配器模式)
Bridge(桥接模式)
Composite (组合模式)
Decorator (装饰模式)
Facade(门面模式)
Flyweight (享元模式)
Proxy(代理模式)。

相关文档
最新文档