《设计模式》学习笔记(二):创建型模式。。我认识的第一个模式

王朝other·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

创建型模式 创建型模式抽象化了实例化的过程。他的主要功能是帮助一个系统独立于如何创建,组合和表示他的那些对象。

1 ABSTRACT FACTORY(抽象工厂)

目的:创建一系列相关或者互相依赖的对象接口,但是无需指定他们具体的类。

别名:Kit

动机:定义一个统一的抽象接口,来和用户进行交互,至于继承该抽象类的具体类是如何实现用户要求的,具体使用哪个类实现用户要求,作为用户是不知道的,这样的统一接口好处在于如果改变了实现的具体类(比如增加功能),只要抽象基类不改变,用户端代码不必要重写,提高了效率。(这是我自己理解的,不知道具体是不是,翻译的很烂,不太明白。)

适用于:

一个系统要独立于他的产品的创建,组合和表示的时候。

一个系统要由多个产品系列中的一个来配置时。

只想显示产品的接口而不是实现的时候。

效果:

1 它分离了具体的类。实现了客户与类的分离,客户只能通过一个抽象接口来间接的操作具体的实现类。

2 有利于产品的一致性。当一个系列中的产品对象被设计成一起工作时,一个应用一次只能使用同一个系列中的对象。也就是说在抽象类下面的所有具体类都是相关的,在客户端比较容易进行引用。

3 难于扩展。要是要扩展类结构的话不太容易,这一点我还是不太明白,多定义一个接口再定义类不就可以了阿。呵呵

实现:(这里包括实现AbstractFactory模式的一些有用的技术)

1 将工厂定义为单个组件,也就是说每个系列的产品只需要一个具体的实例。

2 AbstractFactory仅仅生命一个接口,而真正创建产品的过程是由它的子类来实现的,最通常的办法是为每个产品定义一个工厂方法(FactoryMethod)这个我们将在后面的设计模式中在仔细研究。

3 定义可扩展的工厂 AbstractFactory通常为每一种它可以生产的产品定义一个操作,也可以说一个方法,用户交互都在AbstractFactory中进行,当需要增加类或者其他操作时,必须在AbstractFactory中增加相应的操作并对与增加的类相关的操作进行修改。

相关模式:

AbstractFactory类通常用工厂方法(FactoryMethod)来实现。

其实笔记写了这么多,对于创建型模式还是没有自己的理解,不过还好书后面有一个例子,看了以后有了大概的了解,希望以后看了后面的模式以后再来理解这个模式能有更多的收获。呵呵~~~

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航