寻找银弹

致力于探寻软件开发中的本质问题

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 

模块和模块之间的耦合关系

抽象部分(高层部分)变化慢,具体部分(底层部分)变化快,使用接口进行结合。

设计模式没有好与坏只有适用与不适用

依赖倒置

面向接口编程,不要面向实例

大自然是个松耦合高手

应用场景,某个对象的具体实现由于需求的变化,经常面临剧烈的变化,但它却拥有比较稳定的接口。

主逻辑指构造成本高,主流程

封装变化点

我要一个苹果->接口,基本不变

具体的苹果就是实现细节了,颜色,口感等

多个实例的需要,浅拷贝

Client Code

Class CarTestFramework

{

Public void BuildTestContext(CarFactory carf)

{

AbstractCar c1= carf.CreateCar();

AbstractCar c2= carf.CreateCar();

AbstractCar c3= carf.CreateCar();

C1.startup();

C1.Turn();

}

}

Inferface Code:

Public abstract class CarFactory()

{

Public abstract abstractcar createCar();

}

Public abstract class AbstractCar()

{

Public abstract void StartUp();

Public abstract void Turn();

Public abstract void Stop();

}

Factory Method模式只要用于隔离类对象的适用者和具体类型之间的耦合关系。

Factory Method模式将所创建的具体对象工作延迟到子类,实现扩展的策略

通过定义一种接口,让子类决定实例化那个类

Abstract Factory是从Factory Method模式演化出来的,解决系列对象。

.Net框架中的Factory Method应用

Soap


类别:Programming 查看评论
文章来源:http://hi.baidu.com/hongchaol/blog/item/c3391a4c7f9bd8f9d62afc31.html
posted on 2006-07-14 17:03  hchlee  阅读(120)  评论(0编辑  收藏  举报