UML基础与应用之设计模式与UML

一、模式

(一)模式的含义

所谓模式就是指经常出现在周围的事物,其给出了核心的解决办法,人们可以利用其进行解决相关的问题

(二)模式(Patterns)和框架(Frameworks)的比较

1.模式支持软件结构和设计的重用;框架支持细节设计和代码的重用
2.模式抓住特定领域的问题解决方案中动态、静态结构以及相互之间的协作关系;框架是组件的综合,组件协作,为相关应用提供可重用的框架结构
3.设计模式比框架更抽象
4.设计模式比框架具有更销单元的架构元素
5.从使用广度来说,设计模式比框架更广,与应用的相关性更小

二、指导模式设计的三个概念

重用;
接口和实现分离;
Decouple(松耦合性)

三、描述一个模式

(一)关键要素

模式名称;
问题和动机;
约束;
上下文

(二)解决方案

结构(Structure);
参与者(Participants);
协作(Collaboration);
实现(Implementation);

(三)设计模式分类

在这里插入图片描述
一、创建型模式(Creational Patters)
1.Singleton模式为提供对象的单一入口提供了帮助;
2.AbstractFactory和FactoryMethod模式在功能上比较类似,都是用来处理对象的创建的,但应用层面不同;
3.Builder模式用来处理对象创建的细节;
4.Prototype模式使用原型机制,通过创建简单原型的拷贝来创建对象;
二、结构型模式(Structural Patterns)
1.Adapter用于两个不兼容接口之间的转接;
2.Bridge用于讲一个抽象与多个可能的实现连接起来;
3.Facade用于为复杂的子系统定义一个新的简单易用的接口。
4.Composite用于构造对象组合结构;
5.Decorator用于为对象添加新的职责;
6.Proxy为目标对象提供一个替代者;
7.Flyweight针对细粒度对象的一种全局控制手段;
三、行为模型(Behavioral Patterns) 1.Command用对象封装命令,使得命令被传递、记录、排队等; 2.Iterator把对聚合体对象的访问封装起来; 3.Observer建立起一对多的通信模型,特别适合于更新通知和事件模型; 4.Strategy把一个对象或者类的某些行为封装到另一个单独的对象中; 5.Visitor把对一个结构模型的操作单独组织到一个类中; 6.Chain Of Responsibility请求的处理过程,沿着链传递; 7.Interpreter在类层次结构中,在特定环境的Interpret过程; 8.Mediator用一个mediator老decouple各同等单元; 9.State将一个对象的状态独立出来,动态可变换状态对象的类型; 10.Template Methd在基类中定义算法的骨架,把某些细节延迟到子类中;