• 6.大话设计模式-工厂模式


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

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

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

  • 相关阅读:
    wifi详解(四)
    wifi详解(三)
    wifi详解(二)
    wifi详解(一)
    Linux下GPIO驱动
    wpa_cli调试工具的使用
    WAPI
    java spring使用Jackson过滤
    JPA 一对多双向映射 结果对象相互迭代 造成堆栈溢出问题方法
    Javassist指引(二)--ClassPool
  • 原文地址:https://www.cnblogs.com/zhanjun/p/3861723.html
Copyright © 2020-2023  润新知