您的位置:首页 > 其它

工厂方法模式(Factory Method Pattern)草书

2009-04-21 19:32 190 查看
一。工厂方法(Factory Method)

 从耦合关系谈起

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

模块如何划分,就是设计模式的问题。

1.紧耦合关系:相关的模块都要随之更改。

2.松耦合关系:一些模块更容易更改,替换,其他模块不变。

把软件划分成主次关系。

把主的

软件公理:抽象部分(主要部分)变化慢,次要部分变化快。

二。动机

“某个对象”的创建工作。由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它确拥有比较稳定的接口。如果不符合上述要求,那就不适宜使用Factory Method

 

找出变的部分和不变的部分。

假如接口也变了,那就不行了。。。

每个设计模式都有它自己的使用范围。。

每个设计模式的使用都会依赖于某个不变的东西。。

 

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

辅逻辑的

 

 

定义一个用于创建对象的接口

 

二。代理模式

增加一间接层,从而对系统获得一种更为灵活,满足特定需求的解决方案。

A---->B   更改为  A--->C---->B

A,C位于同一个地址空间。

加入A需调用3次B,使用代理,则只需调用C3次,而C调用B一次,就完成任务。

直接和间接的关系。。。

例如:操作系统为硬件和操作(人)之间的一个代理。。。

动机:

有些对象由于某种原因(比如对象创建的开销很大,或者某些操作需要安全控制,或者需要进程外的访问等),直接访问会给使用者,或者系统结构带来很多麻烦。

意图:为其他对象提供一种代理以控制对这个对象的访问。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计模式 任务 工作 c