設計模式精讀

2021-07-23 15:18:47 字數 2285 閱讀 7071

外觀模式: 從原有系統中抽出一些介面(也可以自己擴充套件)形成乙個新的介面(外觀類), 供客戶使用 減少了客戶與原系統內部的耦合,只需要與外觀類介面發生耦合即可

介面卡模式:建立乙個擁有所需介面的新類,然後包裝原來類的方法,達到適配的效果

橋接模式:抽象變化 實現也變化 找到變化點並進行封裝 少用繼承多用組合防止類** 將實現部分封裝在乙個抽象類中 在被實現的抽象部分積累中包含乙個實現部分基類的控制代碼

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace bridgepattern

abstract class shape

public

void

drawline()

public

void

drawcircle()

}class rectangle : shape

}class circle:shape

}class drawinga:drawing

public

void

drawcircle()

}class drawingb : drawing

public

void

drawcircle()

}static class methoda

public

static

void

drawcirclea()

}static class methodb

public

static

void

drawcircleb()

}class program

}}

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace abstractfactorypattern

class producta1:abstractproducta

}class producta2 : abstractproducta

}abstract class abstractproductb

class productb1 : abstractproductb

}class productb2 : abstractproductb

}abstract class abstractfactory

class productfactory1:abstractfactory

public

override abstractproductb createprouctb()

}class productfactory2 : abstractfactory

public

override abstractproductb createprouctb()

}class program

}}

策略模式:使用不同的業務規則或者演算法 講演算法的選擇和實現分離 讓客戶可以基於場景做出選擇

裝飾模式 為乙個物件現在有的功能動態新增附加功能的乙個方法 被裝飾和裝飾類都繼承同乙個抽象類 裝飾類存有被裝飾類的引用,對功能進行重新包裝

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace newdecoratorpattern

class concretecomponent : component

}abstract class decorator:component

public

override

void

operation()

}class decoratora:decorator

}class decoratorb: decorator

}class program

}}

單例模式:類只存在乙個例項 多執行緒需要進行檢測

文獻精讀模式

都說引言很重要,精讀文獻並不是全部照著翻譯,重要的是要將邏輯關係理順。包括 背景,問題,解決思路,也可以分開單獨做小標題。2 背景 co氧化和水汽變換的反應活性位點的確立非常困難 其實是包含在引言當中的,分析時可以單獨拿出來 3 的思路 a 確定活性位點的前提是要得到純淨的包含反應活性位點的樣品。本...

書籍精讀 《CSS世界》精讀筆記分享

1.1.css世界的 世界觀 1.2.世界都是創造出來的 1.3.css完勝svg的 流2.1.務必了解的css世界的專業術語 2.2.了解css世界中的 未定義行為 3.1.塊級元素 3.2.width height作用的具體細節 3.3.css min width max width和min h...

精讀《構建之法》

構建之法 電子版 是本軟體工程的教科書,給我的最大影響卻是教學方法,這本書很好的解決了工程類課程的教與學的問題,讓我的一些教學理念落到實處,比如說 專案驅動 以學生為主體,以老師為主導 在這本書讓我意識到 我現在所有的課程都踐行老師做教練,學生做中學。圖書中的鏈結彙總 給任課老師和助教的建議 第1 ...