设计模式UML之创建型模式

这些天又把设计模式过了一遍,收获很多。作为回顾,画一画每种模式的UML类图以加深印象。篇幅所限,本篇只限于创建型模式,包括:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

1. 概述

设计良好的系统中,一个基本的要求就是高内聚、低耦合。内聚性描述的是一个模块内部组成部分之间相互联系的紧密程度;耦合性指的是一个模块与其他模块之间联系的紧密程度。软件设计的目标应该满足:(1) 模块内部功能紧密而完整,也就是高内聚;(2) 不同模块之间的联系则是简单、直接、可见、灵活,即松耦合。

创建型模式抽象了实例化的过程,它帮助一个系统独立于如何创建、组合和表示它的那些对象。创建型模式会将所使用的类的信息封装起来,允许客户用结构和功能差别很大的对象配置一个系统,配置可以是静态的(在编译时指定),也可以是动态的(在运行时指定)。

2. UML类图

2.1 抽象工厂模式

抽象工厂模式提供一个创建一系列相关或相互依赖的对象的接口,而无需指定它们具体的类。

2.2 工厂方法模式

工厂方法定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法模式使一个类的实例化延迟到其子类。

2.3 建造者模式

建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

2.4 原型模式

原型模式是用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

2.5 单例模式

单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。

3. 总结

我们在做系统设计的时候,通常由工厂方法开始,当设计者发现需要更大的灵活性时,设计便会向其他创建型模式演化。当需要在设计标准之间进行权衡的时候,了解多个创建型模式可以给设计者提供更多的选择余地。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章