设计模式纵谈5-Factory

来源:互联网 发布:商家怎么去跑淘宝客 编辑:程序博客网 时间:2024/06/03 13:48

4.Factory Method工厂方法模式

结构和代码往往不是设计模式最重要的东西。

设计模式是解决变动需求。

从耦合关系谈起

耦合关系直接决定软件面对变化时的行为。

设计模式是研究模块和模块之间的关系。模块的划分。

--模块与模块之间的紧耦合使得软件面对变化时,相关的模块
都要随之更改。

--模块与模块之间的松耦合使得软件面对变化时,一些模块更容易被替换或者更改,但其他
模块保持不变。


抽象部分,高层部分变化慢。实现细节,底层部分变化快。

***用大自然的事来理解设计模式。***

设计模式重要是理解。

Motivation
在软件系统中,经常面临着 某个对象 的创建工作;
由于需求的变化,这个对象经常面临着剧烈的变化,但是它却拥有比较稳定的接口。。


找到变化和不变化部分,抽象和细节,高层和底层部分。隔离出来。

如何应对这种变化?如何提供一种 封装机制 来隔离出这个易变化对象的
变化,从而保持系统中 其他依赖该对象的对象 不随着需求改变而改变?

Intent
定义一个用于创建对象的接口,让子类决定实例化哪一个类
。Factory Method使得一耳光类的实例化延迟到子类


Factory Method模式的几个要点
.Factory Method模式主要用于隔离类对象的使用者和具体类型之间的耦合关系。面对一个
经常变化的具体类型。紧耦合关系会导致软件脆弱。

.Factory Method模式通过面向对象的手法,将所有要创建的具体对象工作延迟到子类,、
从而实现一中扩展的策略,较好的解决了这种紧耦合。

.Factory Method模式解决 单个对象的需求变化
Abstract Factory模式解决 系列对象 的需求变化,
Builder模式解决 对象部分 的需求变化


软件是在一个动态变化的过程中。

原创粉丝点击