欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談C#設(shè)計(jì)模式之工廠模式

 更新時(shí)間:2014年12月17日 11:01:54   投稿:hebedich  
這篇文章主要介紹了淺談C#設(shè)計(jì)模式之工廠模式,需要的朋友可以參考下

工廠模式和簡(jiǎn)單工廠有什么區(qū)別。廢話不多說(shuō),對(duì)比第一篇例子應(yīng)該很清楚能看出來(lái)。

優(yōu)點(diǎn): 工廠模式彌補(bǔ)了簡(jiǎn)單工廠模式中違背開放-封閉原則,又保持了封裝對(duì)象創(chuàng)建過(guò)程的優(yōu)點(diǎn)。

復(fù)制代碼 代碼如下:

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

客戶端調(diào)用:

復(fù)制代碼 代碼如下:

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

這里主要是對(duì)比了下和簡(jiǎn)單工廠模式的區(qū)別,記錄下來(lái),以防自己搞混。

相關(guān)文章

  • C#面向?qū)ο笤O(shè)計(jì)的七大原則

    C#面向?qū)ο笤O(shè)計(jì)的七大原則

    這篇文章主要為大家詳細(xì)介紹了C#面向?qū)ο笤O(shè)計(jì)的七大原則,未讀文章之前大家說(shuō)一說(shuō)都有哪七大原則,是不是七大原則都可以全部列出,想要了解的朋友可以參考一下
    2016-05-05
  • c#遞歸遍歷文件夾示例

    c#遞歸遍歷文件夾示例

    這篇文章主要介紹了c#遞歸遍歷文件夾示例,需要的朋友可以參考下
    2014-03-03
  • C#并行庫(kù)Parallel類介紹

    C#并行庫(kù)Parallel類介紹

    這篇文章介紹了C#并行庫(kù)Parallel類,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C#入?yún)⑹褂靡妙愋鸵觬ef的原因解析

    C#入?yún)⑹褂靡妙愋鸵觬ef的原因解析

    這篇文章主要介紹了C#入?yún)⑹褂靡妙愋鸵觬ef的原因解析,我們?cè)趯?shí)際開發(fā)中還是能夠碰到一些引用類型添加ref的場(chǎng)景,其實(shí)道理也是一樣的,就是將引用類型的棧的地址傳遞到了方法中,那么和不添加有啥區(qū)別,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • C# 面向?qū)ο笕筇匦裕悍庋b、繼承、多態(tài)

    C# 面向?qū)ο笕筇匦裕悍庋b、繼承、多態(tài)

    本文主要介紹了面向?qū)ο蟮娜筇匦裕悍庋b、繼承、多態(tài),提供了簡(jiǎn)單的示例供大家參考和理解。
    2016-03-03
  • C#實(shí)現(xiàn)簡(jiǎn)單的窗口抖動(dòng)

    C#實(shí)現(xiàn)簡(jiǎn)單的窗口抖動(dòng)

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)簡(jiǎn)單的窗口抖動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • C#游戲開發(fā)之實(shí)現(xiàn)華容道游戲

    C#游戲開發(fā)之實(shí)現(xiàn)華容道游戲

    這篇文章主要為大家詳細(xì)介紹了C#如何實(shí)現(xiàn)經(jīng)典華容道游戲,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-01-01
  • C#實(shí)現(xiàn)的簡(jiǎn)單鏈表類實(shí)例

    C#實(shí)現(xiàn)的簡(jiǎn)單鏈表類實(shí)例

    這篇文章主要介紹了C#實(shí)現(xiàn)的簡(jiǎn)單鏈表類,涉及C#針對(duì)鏈表的定義、實(shí)現(xiàn)及鏈表節(jié)點(diǎn)的增加、刪除與修改技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • WPF實(shí)現(xiàn)繪制扇形統(tǒng)計(jì)圖的示例代碼

    WPF實(shí)現(xiàn)繪制扇形統(tǒng)計(jì)圖的示例代碼

    這篇文章主要介紹了如何利用WPF繪制扇形統(tǒng)計(jì)圖,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下
    2022-09-09
  • 詳解C#中的泛型以及編程中使用泛型的優(yōu)點(diǎn)

    詳解C#中的泛型以及編程中使用泛型的優(yōu)點(diǎn)

    這篇文章主要介紹了詳解C#中的泛型以及編程中使用泛型的優(yōu)點(diǎn),對(duì)泛型的支持時(shí)C#語(yǔ)言中的重要特性,需要的朋友可以參考下
    2016-02-02

最新評(píng)論