什麼是建造者模式呢,從字面上來看有建造兩個字,首先我們想到的是建造房子。那麼在遊戲中我們常常會遇到不同的角色,有瘦的人物,有胖的的人物,還有高的矮的等等,是否也能用建造者模式來建造的,那麼下面將揭開謎底。
首先我們要建立乙個固定的介面或者抽象類來定義造小人的細節。
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace 建造者設計模式__造小人
//造小人的頭
public abstract void buildhead();
//造身體
public abstract void buildbody();
//造手
public abstract void buildleg();
}//造瘦子人
class personthinbuilder : personbuilder
public override void buildhead()
public override void buildleg()
}
然後建立乙個指揮者類來負責指揮如何造人
//指揮者,負責指揮如何造人
class persondirector
public void createperson()
}
最後客戶端實現:
class program
}
我們從上面可以看出,建造者模式其實就是把一些細節或者說是抽象類給固定死,然後客戶對指揮者發出造小人的通知,指揮者自動調出造小人的全部方法。在這期間,客戶端只需要把自己的需求給指揮者說了就可以了,並不需要客戶端關注細節。 徹底搞懂單例模式
在程序中,乙個類只允許建立乙個物件 解決資源衝突 資料只需要存在乙份 1.餓漢式 public class singleton public static singleton getinstance 優點 執行緒安全,獲取例項的速度快 缺點 類載入時例項化物件,可能不被使用,造成記憶體的浪費。2.懶...
徹底搞懂裝飾器模式
動態的給乙個物件新增一些額外的職責 繼承方案會導致繼承結構複雜,不易維護等問題,因此使用組合代替繼承,給原始類新增增強功能 裝飾器類需要和原始類繼承相同的抽象類或者實現相同的介面 下面以jdk中的io舉例 抽象類輸入流 public abstract class inputstream 實現inpu...
建造者模式
1.定義 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。2.uml 類圖 結構 該結構 演示了複雜物件被一步一步建立的建造者模式。builder pattern structural example using system using system.collection...