最近工作不是很忙,正好抽时间看看设计模式,园子里关于设计模式的文章已经很多了,这里就记录一下自己的学习过程了,顺便也了解一下UML类图。还是从《大话设计模式》第一章走起吧。
简单工厂模式:
简单工厂模式又叫静态工厂模式,就是通过定义一个类(即工厂)专门负责创建一系列具体类的实例。当然,被创建的类肯定是具有相同的父类或实现相同的接口。
UML图:
说来惭愧,毕业两年了,还是第一次画UML类图。解释一下简单工厂模式各个角色的作用吧,就以这个加减乘除运算器为例,首先是工厂:它负责创建一系列派生类实例,这里显然是创建具体运算类的对象。工厂类返回的都是某一具体基类实例。
抽象基类(也可以是接口):这里是运算类,主要是定义所有子类共有的方法,属性。
具体基类:这里指加减乘除类。承自抽象基类,实例由简单工厂类创建。
简单工厂模式代码:
基类:抽象运算类,提供一个抽象方法:getResult() 取运算结果。
1 public abstract class Operation 2 { 3 public double OperateA { get; set; } 4 public double OperateB { get; set; } 5 6 //抽象方法 派生类必须重写 7 public abstract double getResult(); 8 //虚方法 派生类可以重写 9 public virtual double getResultAgain() { return 0; } 10 }