[私人筆記] - 設計模式 碎碎念
Facade - 有時候用一個套件帶來50個功能 但是我們只需要3個時候 就來做一個只有三個功能的套件吧
Adapter - 都是拿資料 可以用API , 可以用讀檔 每個方法的參數又不同時 這時候就做個轉接器 讓大家的參數 回傳值 都一樣吧
Decorator - 在功能上 疊加其他功能 每加入一個功能就包一層 也可能會很多層
Proxy - 有一個功能 請了一個代理物件 外面只知道這個代理物件 不會知道功能 , 就算被拒絕也是代理人做壞人 不管功能的事情
Chain of Responsibility - 很多條件要檢查 一個不符合就失敗 全部檢查都成功 才是成功
State - 用 bool 去判斷 狀態 造成很多雜訊 就把每個狀態 變成物件來做吧 尤其是 A狀態 可知道 接續是B狀態時 更是適合
聚合 Aggregation - has a
public class Decorator
{
private Component _component;
public Decorator(Component component)
{
_component = component;
}
}
組合 Composition - contain a
public class Proxy
{
private Subject _realSubject;
public Proxy()
{
_realSubject = new RealSubject();
}
}
參考
Design Patterns Explained with Food
Adaptation of Design Patterns for Humans to C#
如果內容有誤請多鞭策謝謝