国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

淺談C#設計模式之工廠模式

2020-01-24 02:14:00
字體:
來源:轉載
供稿:網友

工廠模式和簡單工廠有什么區別。廢話不多說,對比第一篇例子應該很清楚能看出來。

優點: 工廠模式彌補了簡單工廠模式中違背開放-封閉原則,又保持了封裝對象創建過程的優點。

復制代碼 代碼如下:

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

這里主要是對比了下和簡單工廠模式的區別,記錄下來,以防自己搞混。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 砀山县| 历史| 林芝县| 中阳县| 响水县| 林甸县| 平湖市| 西盟| 娱乐| 出国| 长葛市| 民县| 柘荣县| 平邑县| 错那县| 肇庆市| 哈尔滨市| 白沙| 泗洪县| 格尔木市| 雷波县| 康平县| 澄江县| 石景山区| 仙桃市| 新乡县| 洛南县| 罗源县| 南漳县| 布尔津县| 绍兴市| 固安县| 昆山市| 铜陵市| 军事| 巴东县| 五莲县| 赫章县| 石泉县| 保亭| 南部县|