原创 Java設計模式之20 —— 裝飾模式(1)
裝飾模式是一種結構型設計模式。其使用一種對客戶端透明的方式,來動態的擴展對象的功能。同時,它也是繼承關係的一種替代方案之一。定義:動態地給一個對象添加一些額外的職責。就增加個來說,裝飾模式比生成子類更爲靈活。 所以,我們可以在需要透明而且
原创 Java設計模式之21 —— 享元模式
享元模式 是對對象池的一種實現。使用共享對象可以有效地支持大量的細粒度的對象。當系統中存在大量的相似對象,可以使用享元模式;細粒度對象都具備較接近的外部狀態,而且內部狀態與環境無關,也就是說對象沒有特定身份;需要緩衝池的場景,也適合使用享
原创 Java設計模式之20 —— 裝飾模式(2)
裝飾模式是一種結構型設計模式。其使用一種對客戶端透明的方式,來動態的擴展對象的功能。同時,它也是繼承關係的一種替代方案之一。定義:動態地給一個對象添加一些額外的職責。就增加個來說,裝飾模式比生成子類更爲靈活。 所以,我們可以在需要透明而且
原创 H5頁面移動端的社會化分享
在H5頁面,可以使用百度的社會化分享插件,實現分享。 下面是html代碼,直接複製到項目中就可以運行在移動端。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>分享金
原创 Java設計模式之10——備忘錄模式(1)
備忘錄模式是一種行爲模式,用於保存對象當前狀態。在之後可以再次恢復狀態。在不破壞封閉的前提下,捕獲一個對象的內部狀態,並在該對象外保存這個狀態,這樣,以後就可以將該對象恢復到以前的狀態。 使用場景:(1) 需要保存一個對象在某一時刻的狀態
原创 使用中介者模式管理的登錄UI模塊
下面我們開發一個登錄界面,界面中使用中介者矛盾管理界面中的控件。 1 首先創建登錄界面的佈局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="
原创 Java設計模式之15——訪問模式
訪問模式是一種比較少用到的模式,但是一旦你使用訪問模式,往往你就真的需要使用訪問模式。訪問模式具有獨特的靈活性。 訪問模式是結構比較複雜的設計模式。 訪問模式,是封裝一些用於某種數據結構的各元素的操作, 它可以在不改變這些數據結構的前提下
原创 Java設計模式之18 ——組合模式
組合模式,也稱爲部分整體模式。是一種結構型設計模式。在組合模式中,將對象組合成樹形結構以表示“部分--整體”的層次結構,使得銀行對單個對象和組合對象的使用具有一致性。 一般的,在表示對象的部分-整體層次結構時,使用組合模式。或者在從一個整
原创 Java設計模式之13 ——迭代器模式
1創建一個迭代器接口 package cursorpattern; /** * 迭代器接口 */ public interface Iterator<T> { T next(); boolean hasNext()
原创 Java設計模式之12——命令模式
命令模式 1 創建一個命令接口: package commandpattern; public interface Command { void execute(); } 2 創建一個接收命令並執行的 類 package
原创 Java設計模式之11——模板模式
模板模式的簡單實現。 1 對應 package modelpattern; public abstract class AbstractComputer { protected void powerOn() { S
原创 Java設計模式之12——命令模式(2)
我們通過一個遊戲的業務邏輯來演示命令模式。 1 創建命令接口: package commandpattern2; public interface Command { void execute(); } 2 創建命令的執行者:
原创 Java設計模式之14 —— 模板模式
模板模式的基本定義是:定義一個操作中的算法框架,而將一些步驟延遲到子類中,使得子類可用改變一個算法的結構,即可重定義該算法發 某些特定步驟。 示例代碼如下: 1, 在抽象的父類中定義一系列的特定步驟:其中startUp方法定義爲final
原创 Java設計模式之16——中介者模式(1)
1 創建一個抽象的中介者Mediator package mediatorpattern2; public abstract class Mediator { public abstract void changed(Collea
原创 Java設計模式之17 ——代理模式
代理模式也叫委託模式,是一種結構型設計模式。爲其他對象提供一種代理,以控制對這個對象的訪問。那麼什麼時候使用代理模式呢?當無法或者不想直接訪問某個對象時,或者訪問某個對象有困難時,可以通過一個代理對象來間接訪問,爲了保證客戶端使用的透明性