您的位置:首页 > 其它

工厂方法模式

2013-11-22 20:43 357 查看
1.相比于简单工厂模式:简单工厂模式违背了“开封-封闭”原则,如果需要增加“求M数的N次方”,需要修改运算工厂的方法,在Case分支中增加代码。

工厂方法模式让子类决定实例化哪一个类,子类的上面是一个用于创建对象的接口

2.UML图:





 





 





 

3.

namespace HT.FDBMS.Controls
{
#region===================Product===================
public abstract class BaseDataUpdate
{
public virtual void Run()
{
}
}
#endregion

#region===============ConcreteProduct===============
public class DataStore : BaseDataUpdate
{
public override void Run()
{

}
}

public class DataVersionManager : BaseDataUpdate
{
public override void Run()
{

}
}
#endregion

#region===================Creator===================
public interface IBaseDataUpdateFactory
{
BaseDataUpdate CreateBaseDataUpdateClass();
}
#endregion

#region===============ConcreteCreator===============
public class DataSotoreFactory : IBaseDataUpdateFactory
{
public BaseDataUpdate CreateBaseDataUpdateClass()
{
return new DataStore();
}
}

public class DataVersionManagerFactroy : IBaseDataUpdateFactory
{
public BaseDataUpdate CreateBaseDataUpdateClass()
{
return new DataVersionManager();
}
}
#endregion
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: