欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

浅谈C#设计模式之工厂模式

程序员文章站 2023-12-15 08:40:34
工厂模式和简单工厂有什么区别。废话不多说,对比第一篇例子应该很清楚能看出来。 优点: 工厂模式弥补了简单工厂模式中违背开放-封闭原则,又保持了封装对象创建过程的优点。...

工厂模式和简单工厂有什么区别。废话不多说,对比第一篇例子应该很清楚能看出来。

优点: 工厂模式弥补了简单工厂模式中违背开放-封闭原则,又保持了封装对象创建过程的优点。

复制代码 代码如下:

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();

这里主要是对比了下和简单工厂模式的区别,记录下来,以防自己搞混。

上一篇:

下一篇: