具體實現
簡單工廠
實驗測試
如何分清業務邏輯和介面:
一般顯示在介面上的,我們肉眼可見的屬於介面,而我們看不見的,內部運算屬於業務邏輯
對於乙個加減運算來說:
運算過程和法則---->業務邏輯
介面---->我們的輸入
我們主要使用繼承和多型來實現簡單的加減運算,至於為啥需要這兩個,我們是如何提煉出來的,我們後文中分解!
面對這樣乙個問題:
思路:提煉共性:所有的運算都有兩個數,然後得到乙個結果
於是我們就有了下面的類:
using system.collections;
using system.collections.generic;
using unityengine;
/// /// 計算方法
///
public class oprition
set}
private float number_2;
public float number_2
set}
/// /// 計算
///
///
///
public virtual float getresult()
}
這個類相當於父親,有若干個兒子,「+」「-」「x」"/"等等,於是有了下面的類:
using system.collections;
using system.collections.generic;
using unityengine;
/// /// 加法
///
public class opritionadd : oprition
}
using system.collections;
using system.collections.generic;
using unityengine;
//減法
public class opritionsub : oprition
}
他們都有乙個共性,都屬於演算法的兒子,所以都需要繼承父親oprition
多型的含義呢:字面意思,同樣的物件可以有多重的含義!
對應我們的專案:
運算都需要得到乙個結果,那麼我們就有乙個getresult()的方法,我們想要我們所有的兒子都需要有這個方法,但是他們都是不一樣的,那麼我們就用到了多型,多型的用法呢!在c#裡面主要是:
virtual和override兩個關鍵字,virtual定義的方法為虛方法,override為重寫虛方法
虛方法
/// /// 計算
///
///
///
public virtual float getresult()
重寫public override float getresult()
顧名思義:工廠的作用肯定是生產乙個物件出來,那麼我們生產什麼東西呢,對應我們的專案,那麼就是生產乙個運算(oprition),至於我們想要生產那種,根據我們的輸入和需求來!
using system.collections;
using system.collections.generic;
using unityengine;
//工廠
public static class opritionfactory
return oprition;
}}
這裡是測試**:
using system.collections;
using system.collections.generic;
using unityengine;
public class hello
}
列印結果:30
**python資料結構與演算法-實戰篇
設計模式 工廠模式之簡單工廠模式
定義 由乙個工廠物件 工廠類 來指定建立某乙個產品類的例項。使用場景 客戶端只需傳入指定的引數即可,工廠類負責建立的物件較少 因為指定了傳入的引數 介面類 本想用iphone命名的,見諒 public inte ce phone實現介面類 public class huaweiphone imple...
設計模式 工廠模式之簡單工廠
工廠模式可以分為 簡單工廠模式 普通工廠模式 靜態工廠模式 抽象工廠模式 簡單工廠模式 就是如何去例項化物件的問題,對於很容易變化的問題,應該考慮用乙個單獨的類來做這個創造例項的過程,這個單獨的類就是工廠 例子 通過簡單工廠建立各種圖形的實現過程 簡單工廠模式建立步驟 建立乙個介面 例 圖形介面 建...
設計模式 工廠模式之簡單工廠
我們常見的設計模式,大致可以分為三大類 建立型 結構性 行為型。工廠模式,屬於建立型。工廠模式到底起的是什麼作用呢?概括來說就是解耦。當某一類物件需要頻繁建立的時候,就會和程式產生比較大的耦合,在物件初始化屬性較多時,工廠模式可以較少這種耦合,這就是他的作用。一般情況下根據場景不同,工廠模式有幾種不...