浅谈C#设计模式之工厂模式
程序员文章站
2023-12-15 19:10:10
工厂模式和简单工厂有什么区别。废话不多说,对比第一篇例子应该很清楚能看出来。
优点: 工厂模式弥补了简单工厂模式中违背开放-封闭原则,又保持了封装对象创建过程的优点。...
工厂模式和简单工厂有什么区别。废话不多说,对比第一篇例子应该很清楚能看出来。
优点: 工厂模式弥补了简单工厂模式中违背开放-封闭原则,又保持了封装对象创建过程的优点。
复制代码 代码如下:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace designmodel
{
public interface factory
{
js createjs();
}
public class js
{
public int numa { get; set; }
public int numb { get; set; }
public virtual int getresult()
{
return 0;
}
}
public class add1 : js
{
public override int getresult()
{
return numa + numb;
}
}
public class sub1 : js
{
public override int getresult()
{
return numa - numb;
}
}
public class addfactory : factory
{
public js createjs()
{
return new add1();
}
}
public class subfactory: factory
{
public js createjs()
{
return new sub1();
}
}
}
客户端调用:
复制代码 代码如下:
factory factory = new addfactory();
js js = factory.createjs();
js.numa = 1;
js.numb = 2;
console.writeline( js.getresult());
factory f = new subfactory();
js j= f.createjs();
j.numa = 9;
j.numb = 0;
console.writeline(j.getresult());
console.readline();
这里主要是对比了下和简单工厂模式的区别,记录下来,以防自己搞混。