原创 備忘錄模式

一,定義 備忘錄模式:在不破壞封裝性的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態,這樣以後就可以將該對象恢復到原先保存的狀態。 Originator(發起人):負責創建一個備忘錄memento,用以記錄當前時

原创 組合模式

一,定義 組合模式,將對象組合成樹形結構以表示”部分-整體”的層次結構,組合模式使得用戶對單個對象和組合對象的使用具有一致性。 Component:爲組合中的對象聲明接口,在適當情況下,實現所有類共有接口的默認行爲,聲明一個

原创 迭代器模式

一,定義 迭代器模式:提供一種方法順序訪問一個聚合對象中各個元素,而又不暴露該對象的內部表示。 迭代器模式的實用價值遠不如他的學習價值大,因爲很多語言已經把他封裝好了。 二,示例 /** * @類描述:抽象迭代器接口 *

原创 外觀模式

一,定義 外觀模式(Facade):爲子系統中的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。 二,角色 1,外觀(Facade)角色 :客戶端可以調用這個角色的方法。此角色知曉相

原创 單例模式

一,定義 單例模式:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。 通常我們可以讓一個全局變量使得一個對象被訪問,但它不能防止你實例化多個對象,一個最好的辦法就是,讓類自身負責保存它的唯一實例,這個類可以保證沒有其他實例可

原创 觀察者模式

一,定義 觀察者模式:定義了一種一對多的依賴關係,讓多個觀察者對象同事監聽某一個主題對象,這個主題在狀態發生該變時,會通知所有觀察者對象,使他們能夠自動更新自己。 二,結構 Subject類,可翻譯爲主題或抽象通知者,一般用一

原创 中介者模式

一,定義 中介者模式:用一箇中介對象來封裝一系列的對象交互,中介者使各對象不需要顯式地相互引用,從而使其耦合鬆散,而且可以獨立地改變他們之間的交互。 中介者模式可以將系統的網狀結構變成以中介者爲中心的星型結構。 C

原创 狀態模式

一,定義 狀態模式:當一個對象的內在狀態改變時,允許改變其行爲,這個對象看起來像是改變了其類。 狀態模式主要解決的是當控制一個對象狀態轉換條件表達式過於複雜時的情況,把狀態的判斷邏輯轉移到表示不同狀態的一系列類當中,可以把複雜的判

原创 適配器模式

一,定義 適配器模式:將一個類的接口轉換成客戶希望的另外一個接口,adapter模式使得原本又有接口不兼容而不能一起工作的哪些類可以一起工作。 簡單的說,就是需要的東西就在面前,但卻不能使用,而短時間內無法改造他,於是我們就想辦法

原创 建造者模式(生成器模式)

一,定義 建造者模式:也叫生成器模式,將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。 二,結構 Builder:爲創建一個Product對象的各個部件指定抽象接口 ConcreteBuilder:

原创 Activity啓動模式之SingleInstance

啓動模式系列之:Activity啓動模式(Standrd和SingleTop) 啓動模式系列之:Activity啓動模式(SingleTask) 啓動模式系列之:Activity啓動模式(SingleInstance) 一,Sin

原创 Activity啓動模式之SingleTask

啓動模式系列之:Activity啓動模式(一) 一,SingleTask模式(棧內複用模式) 解釋:只要在棧(TaskRecord)內,存在棧內複用模式的Activity。無論是在棧頂還是在棧內,多次調用都會複用實例。不會重複創建

原创 Activity啓動模式

一,啓動模式分類: Standard(標準模式,默認) SingleTop(棧頂複用模式) SingleTask(棧內複用模式) SingleInstance(單實例模式) 通過AndroidManifest可配置Activity

原创 可能是最詳細的Android點擊事件處理詳解(二)

上一篇我們主要詳細描述了touch事件在各層的傳遞 本篇文章主要是對比touch在不可滾動和可滾動的ViewGroup事件的傳遞過程 如上圖: - 左圖:是ViewGroup嵌套View,不可滑動 - 右圖:也是View

原创 可能是最詳細的Android點擊事件處理詳解(三)

前兩篇文章: 可能是最詳細的Android點擊事件處理詳解 可能是最詳細的Android點擊事件處理詳解(二) 這裏再次延伸一下,在ScrollView和RecyclerView嵌套中touch事件的傳遞過程,以及嵌套滑動衝突的