模块和模块之间的耦合关系
抽象部分(高层部分)变化慢,具体部分(底层部分)变化快,使用接口进行结合。
设计模式没有好与坏只有适用与不适用
依赖倒置
面向接口编程,不要面向实例
大自然是个松耦合高手
应用场景,某个对象的具体实现由于需求的变化,经常面临剧烈的变化,但它却拥有比较稳定的接口。
主逻辑指构造成本高,主流程
封装变化点
我要一个苹果->接口,基本不变
具体的苹果就是实现细节了,颜色,口感等
多个实例的需要,浅拷贝
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