設計模式,構建型模式最后一個:Singleton單件模式
保證一個類只有一個實例存在,方法是隱藏構造方法,在類的內部構造一個靜態的實例,然后建一個靜態方法返回這個實例,其中一個知識點是,靜態變量是在main方法執行前初始化的,也就是在程序運行前初始化的。
結構性模式:適配器模式Adapter,橋接模式Bridge,組合模式Composite,裝飾模式Dectorator,外觀模式Fa ade,享元模式FlyWeight,代理模式Proxy。
Adapter模式,是多重繼承的一種替代方法,通過繼承一個類,組合一個類,來實現。
Bridge模式,將要執行的業務方法抽象出來,建立一個橋接接口,通過實現該接口用于不同的業務,然后使用該實現類。
Composite模式,多個相同的對象要調用它們的一個方法,單獨寫一個類,里面有個該對象的類的類型的集合,里面裝有許多對象,有個方法,利用循環依次調用每個對象的方法,宗旨是讓類的使用者更方便。
Dectorator模式,避免過深繼承的一種方式,目前有一個類,但業務需求改變導致這個類有少許變化,如果繼承這個類,將導致無限制繼承,辦法是建立一個這個類的兄弟,實現新的業務需求,然后調用兄弟的方法。
Fa ade模式,用于業務操作十分復雜,為了實現對復雜性的封裝,建立一個類,建立一個面向外界的接口,類的使用者只需調用該接口就搞定了,而背后復雜的邏輯不必去關心。
FlyWeight模式,跟單件模式有類似之處,都是為了減少重復對象的創建,這個模式是,建立一個緩存,將已建立的對象放入緩存,當再次需要的時候在緩存中查找是不是已經存在了該對象,如果存在,直接返回,否則創建,這樣節省了內存空間,這樣的適用于有許多的小型對象的適用。
Proxy模式,用于不同用戶有不同操作權限的類似情況,有一個類負責業務邏輯的執行并不負責用戶是否具有權限的判斷,這件任務由另一個類負責。
以上設計模式的理解,用自己的話寫了一下,希望加深理解。
明天可能要給大家講第三章,得好好準備準備,爭取完美,嘻嘻。