簡單工廠模式實例

1.最近在學習設計模式,學習最簡單的簡單工廠設計模式。設計模式

  1.1  工廠模式用到了單一職責原則和開閉原則ide

  1.2  單一原則:一個類只負責一個功能領域中的相應職責,或者能夠定義爲:就一個類而言,應該只有一個引發它變化的緣由。學習

  1.3  開閉原則:一個軟件實體應當對擴展開放,對修改關閉。即軟件實體應儘可能在不修改原有代碼的狀況下進行擴展。(注:抽象化是開閉原則的關鍵)spa

2.工廠模式核心就是抽象設計

其餘的不說了,直接上代碼code

3.先建一個抽象類和一個抽象方法對象

public abstract class AbstractChart
    {
        //virtual 虛方法必須實現方法體
        public abstract void Display();
    }

4.建一個餅狀圖的類,繼承抽象類,用override重寫抽象類裏面的方法,實現多態blog

public class PieChart:AbstractChart
    {
        public override void Display()
        {
            Console.WriteLine("這是一個餅狀圖!");
        }
    }

5.建一個柱狀圖的類,繼承抽象類,用override重寫抽象類裏面的方法,實現多態繼承

public class BarChart:AbstractChart
    {
        //子類繼承抽象類用override重寫抽象類的方法(父類方法必須是抽象方法或者虛方法)
        public override void Display()
        {
            Console.WriteLine("這是一個柱狀圖!");
        }
    }

6.建立一個工廠類,根據條件建立出對應的對象,調用方法string

public class SimpleFactory
    {
        AbstractChart chart;
        public AbstractChart CreateFactory(string oper)
        {
            switch (oper)
            {
                case "bar":
                    chart = new BarChart();
                    break;
                case "pie":
                    chart = new PieChart();
                    break;
            }
            return chart;
        }
    }

7.根據工廠建立出對象,根據傳遞的信息,獲得相對應的值

static void Main(string[] args)
        {
            //工廠模式用到了單一職責原則和開閉原則
            //單一原則:一個類只負責一個功能領域中的相應職責,或者能夠定義爲:就一個類而言,應該只有一個引發它變化的緣由。
            //開閉原則:一個軟件實體應當對擴展開放,對修改關閉。即軟件實體應儘可能在不修改原有代碼的狀況下進行擴展。(注:抽象化是開閉原則的關鍵)
            SimpleFactory simpleFactory = new SimpleFactory();
            AbstractChart chart = simpleFactory.CreateFactory("bar");
            chart.Display();
        }
相關文章
相關標籤/搜索