设计模式之简单工厂模式
2014-02-04 14:33
302 查看
所谓简单工厂模式其实就是把一些类进行包装,封装在一起,用到哪一个类的时候在实例化哪一个类。举个简单的例子就像家中的电视机,电视机上面有很多按钮,其中有菜单,有调节屏幕明亮程度的,有调节音量大小的。这些每一个按钮都会完成一个功能,而将这些封装起来的就是电视机,利用函数,通过参数的不同而返回不同的实例化对象。用代码表示则如下:
在主程序中,如果我想加大音量,则如下:
如果想增加其他的类,如上下换台类,则只需要增加其子类,然后在电视机工厂中增加case就可以了。简单工厂其实就是利用一个包装类实例化出合适的对象,通过多态,返回父类的方式,实现了功能的结果。
//功能选择类 ClassFunctionChoice { Public virtual void GetResult() { String result=“…...”; Return result; } } //菜单类 Class Menu:FunctionChoice { Public override void GetResult() { Return Console.writeline(“输出菜单”); } } //加大音量类 Class AddVoice:FunctionChoice { Public override void GetResult() { Return console.writeline(“加大音量”); } } //减小音量类 Class SubVoice:FunctionChoice { Public override void GetResult() { Return Console.writeline(“减小音量”); } } //电视机类,相当于一个工厂 Class TV { //通过参数的不同实例化不同的对象 Public static FunctionChoicecreateFunctionChoice(string operate) { FunctionChoice oper=null; Swich (operate) { Case “菜单”: Oper=new Menu(); Break; Case "加大音量": Oper=new AddVoice(); Break; Case "减小音量": Oper=new SubVoice(); Break; } Return oper; } }
在主程序中,如果我想加大音量,则如下:
FunctionChoice oper ; oper=TV.createFunctionChoice(“加大音量”); oper.GetResult();
如果想增加其他的类,如上下换台类,则只需要增加其子类,然后在电视机工厂中增加case就可以了。简单工厂其实就是利用一个包装类实例化出合适的对象,通过多态,返回父类的方式,实现了功能的结果。
相关文章推荐
- 设计模式之简单工厂模式
- 设计模式1(简单工厂模式,策略模式)
- 一起来学设计模式-----创建型模式之简单工厂
- 设计模式之简单工厂模式加反射
- 【C++设计模式】简单工厂模式
- 【转】设计模式——创建型设计模式总结(简单工厂、普通工厂、抽象工厂、建造者、原型和单例)
- [设计模式]简单工厂模式
- 反射 内省 JaveBean 与 简单工厂设计模式
- 设计模式 简单工厂+工厂方法+抽象工厂
- 简单工厂设计模式(Simple Factory Design Pattern)
- 简单工厂设计模式
- 个人见解—简单工厂设计模式
- C++设计模式-1简单工厂模式
- java中的设计模式(一)--简单工厂模式
- 大话设计模式之简单工厂设计模式观后感
- 设计模式之---简单工厂模式
- 设计模式之简单工厂
- 设计模式1:简单工厂
- 设计模式之二 简单工厂
- 设计模式拾荒之工厂方法模式(Factory Method Pattern): 简单工厂并不是一种设计模式