设计模式(二):抽象工厂模式
来源:互联网 发布:武昌淘宝摄影 编辑:程序博客网 时间:2024/05/16 11:13
class Test { /// <summary> /// 抽象工厂模式将具体产品的创建延迟到具体工厂的子类中,这样将对象的创建封装起来, /// 可以减少客户端与具体产品类之间的依赖,从而使系统耦合度低,这样更有利于后期的维护和扩展, /// 这真是抽象工厂模式的优点所在,然后抽象模式同时也存在不足的地方。下面就具体看下抽象工厂的缺点 /// 缺点其实在前面的介绍中以已经涉及了): ///抽象工厂模式很难支持新种类产品的变化。这是因为抽象工厂接口中已经确定了可以被创建的产品集合, ///如果需要添加新产品,此时就必须去修改抽象工厂的接口,这样就涉及到抽象工厂类的以及所有子类的改变 ///,这样也就违背了“开发——封闭”原则。 /// </summary> static void Main() { Threads.AbstractFacrory.AbstractFactory nanChangFactory = new Threads.AbstractFacrory.NanChangFactory(); AbstractFacrory.Yabo nanChangYabo = nanChangFactory.CreateYaBo(); nanChangYabo.Print(); Console.ReadKey(); }}
public class AbstractFacrory { public abstract class AbstractFactory { public abstract Yabo CreateYaBo(); public abstract Yajia CreateYaJia(); } /// <summary> /// /// </summary> public class NanChangFactory : AbstractFactory { public override Yabo CreateYaBo() { return new NanChangYaBo(); } public override Yajia CreateYaJia() { return new NanChangYajia(); } } public class ShangHaiFactory : AbstractFactory { public override Yabo CreateYaBo() { return new ShanghaiYaBo(); } public override Yajia CreateYaJia() { return new Shanghaiyajia(); } } public abstract class Yabo { public abstract void Print(); } public abstract class Yajia { public abstract void Print(); } public class NanChangYaBo:Yabo { public override void Print() { Console.WriteLine("NanChang Yabo"); } } public class ShanghaiYaBo : Yabo { public override void Print() { Console.WriteLine("Shanghai Yabo"); } } public class NanChangYajia : Yajia { public override void Print() { Console.WriteLine("NanChang yajia"); } } public class Shanghaiyajia:Yajia { public override void Print() { Console.WriteLine("Shanghai yabo"); } } }
0 0
- 设计模式(二):抽象工厂模式
- 设计模式(二) 抽象工厂模式
- 设计模式(二):抽象工厂模式
- 设计模式(二)抽象工厂模式
- 设计模式(二)工厂方法模式+抽象工厂模式
- 设计模式<二>-抽象工厂
- JAVA--抽象工厂模式--设计模式二
- 设计模式笔记二:抽象工厂模式
- JAVA设计模式(二)----抽象工厂模式
- [设计模式](二):工厂模式(简单工厂|静态工程、工厂方法|多工厂、抽象工厂)
- 抽象工厂模式(AbstractFactory)-设计模式(二)
- 设计模式(二)之Abstract Factory - 抽象工厂模式
- C++ 设计模式 (二) 抽象工厂模式
- 设计模式之二 抽象工厂模式(Abstract Factory)
- 设计模式之(二)——抽象工厂模式
- java设计模式(二)--抽象工厂模式
- 创建型:设计模式之抽象工厂模式(二)
- 【设计模式】抽象工厂模式(二)- PHP
- 使用Java处理JavaScript
- Swift Tips - Array 类型
- linux .o a .so .la .lo的区别
- statfs获得硬盘使用情况 模拟linux命令 df(转)
- JavaScript之五:继承
- 设计模式(二):抽象工厂模式
- 绑定多个事件,如何决定前面事件失败后面事件不执行
- linux dynamic , static library
- 短信猫使用
- shell脚本学习指南之文本排序与排重等
- 去掉导航栏的阴影
- uva 11292
- [关于程序员看经典书籍的隐喻]--记专业书籍的理解
- android 控件学习之列表