原创 mediator - 對象行爲型模式

       1.意圖         用一箇中介對象封裝一些列對象交互。中介使各對象不需要顯示地相互引用,從而使         其耦合鬆散,而且可以獨立的改變它們的交互。         2.參與者         Mediator

原创 flyweight - 對象結構型模式

    1.意圖      運用共享技術有效的支持大量細粒度的對象      2.參與者      Flyweight - 描述一個接口flyweight可以接受並作用於外部狀態            ConcreteFlyweight

原创 proxy -對象結構型模式

        1.意圖                      爲其它對象提供一種代理以控制對這個對象的訪問          2.參與者            Proxy - 保存一個引用使得代理可以訪問實體            

原创 decorator - 對象結構模式

  1.意圖             動態的給一個對象添加一些職責,decorator模式比生成子類更靈活     2.參與者       Compoment   - 定義一個對象接口,可以給這些對象動態的添加職責       Concr

原创 facade - 對象結構型模式

   1.意圖             爲子系統提供一個一致的界面,facade模式定義了一個高層接口,這個接口使得             這一系統更加容易使用     2.參與者       Facade - 知道哪些子系統類負責處理

原创 composite - 對象結構型模式

   1.意圖         將對象組合成樹形結構以表示“部分-整體”的層次結構,composite使得用戶對         單個對象和組合對象的使用具有一致性。       2.參與者       component -爲組合中的對

原创 bridge - 對象結構型模式

   1.意圖             將抽象部分和它的實現部分分離,使它們都可以獨立變化     2.參與者       Abstraction - 定義抽象接口                   - 維護一個指向Implemento

原创 prototype -對象創建模型

     1.意圖               用原型實例指定創建對象的種類並且通過拷貝這些原型創建新對象      2.參與者        Prototype,ConcretePrototype,client      3.結構 代

原创 builder -對象創建模型

    1.意圖               將一個複雜對象和它的表示分離,使得同樣的構建過程可以創建不同的表示      2.參與者        Builder -爲創建product對象的各個部件提供接口        Concre

原创 Factory Method -對象創建模型

    1.意圖             定義一個用於對象創建的接口,讓子類決定實例化哪個類,Factory Method             使一個類的實例化延遲到其子類。     2.參與對象             Produc

原创 抽象工廠模式

    abstract factory 抽象工廠  -對象創建型模式   1.意圖   提供一個創建一系列的相關或相互依賴的對象接口,而無需指定具體類   2.參與對象     AbstractFactory;ConcreteFacto

原创 動態算法的理解

               動態算法是通過空間換取時間的一種算法。很多時候我們在獲取結果的過程中會產生許多重複的過程,那麼用什麼手段將重複的過程只進行一次呢?我們可以將這個過程當成一個黑匣子它有輸入和輸出,存在一種映射f代表輸入和輸出關

原创 迭代模式

迭代模式:提供一種順序訪問存儲結構過程的模式。 實現過程:一個接口類:Iterator,提供hasNext()和next()方法接口;                 提供一個實現Iterator接口的迭代子類;            

原创 適配器模式

適配器模式:將兩個差異化的接口實現無縫對接,例如:將雙插頭插在適配器上,然後適配器插在三插口的插座上,實現充電。存在對象適配器(組合)和類適配器(繼承)。下面是對象適配器的實現,類適配器就不提供代碼了。 對象適配器代碼實現: public

原创 排序算法

     插入排序算法的生活場景排隊,大家在讀小學的時候有過排隊的經歷吧,當時老師就是讓沒有排好序的同學出來一個,讓他從後往前和已經排好序的同學依次比較比他高的就往後挪一位直到找到比他矮的,就插到這位同學的後面。用java代碼實現就是: