C#簡單工廠模式編程
模型,創建一個模型,構建咱們的實際工程,項目。框架
全部面向對象的編程都是在咱們生活中存在的,從詞義的解釋就是咱們生活中的工廠就是負責生產產品的,而到開發中對應的就是NEW不一樣的對象,該模式主要解決的問題就是解決建立對象與該類的解耦。設計原則中常常說的類單一職責、封裝性都有體現。
學習框架的目的:爲了適應業務的複雜度提升,給業務進行解耦操做。面向對象目標:高內聚、低耦合、可重用。ide
編程中的簡單工廠就是一個生產對象的類,它的主要做用是建立具體的產品類實例。咱們以一個生產鼠標爲例來分析簡單工廠的做用,鼠標有兩種:戴爾鼠標和惠普鼠標。學習
視頻課:https://edu.csdn.net/course/detail/30808測試
一.使用步驟.net
簡單工廠模式須要有三個組成角色:設計
一、抽象產品角色:表明了具體產品的一個抽象類或是接口。code
二、具體產品角色:最後生成的實例對象便是它。第一步何第二步的關係,第二步是第一步的實現類或子類。視頻
三、工廠類角色:負責生成具體產品類。對象
二.場景
參考代碼
2.1 抽象接口定義
//1.抽象接口定義或抽象類定義; interface IDrive { void drive(); }
2.2具體的三個類定義
class Benz:IDrive { public void drive() { Console.WriteLine("奔馳開始啓動了..."); } } class BYD : IDrive { public void run() { Console.WriteLine("比亞迪新能源車在跑..,不限號..."); } } class BMW:IDrive { public void drive() { Console.WriteLine("寶馬開始啓動了..."); } }
三.工廠類定義
class CarFactory { public static IDrive createCar(string name) { IDrive car=null; switch (name) { case "奔馳": car = new Benz(); break; case "寶馬": car = new BMW(); break; case "比亞迪": car = new BYD(); break; } return car; } } }
四.測試類定義
使用界面來測試:
代碼:
//Benz bz = new Benz(); //bz.run(); //Bmw bmw = new Bmw(); //bmw.run(); //BYD byd = new BYD(); //byd.run(); //這時候,有了接口、也有了接口的實現類; string name=textBox1.Text; //IDrive car = null; //整一個車的對象,默認爲 //如今有了小車司機,以後,老闆就不用再關注限號不限號, IDrive car = CarFactory.createCar(name); car.run();
測試輸出,在視圖--》輸出,裏面把輸出窗口給調出來。
三.優勢和缺點
3.1 優勢
3.2 缺點
4 適用環境
在如下狀況下可使用簡單工廠模式: