您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
03 Java發布訂閱模式(設計模式-快餐簡解-【觀察者模式】)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-08 08:12:46【】0人已围观
简介cvoidupdate(){phone=teachergetPhone();}}//ClientjavapackageyoungmastermodelObserver;importjavautilVe
phone = teacher getPhone();
}
}
//Client java
package youngmaster model Observer;
import java util Vector;
/
*** @author youngmaster
* @E mail:young * @version myEclipse
* @create time 上午 : :
*/
/
***測試類
*/
public class Client {
/
*** @param args
*/
@SuppressWarnings( unchecked )
public static void main(String[] args) {
Vector students = new Vector();
Teacher teacher = new Teacher();
for (int i = ; i < ; i++) {
Student student = new Student( student + i teacher); students add(student); teacher addObserver(student);
}
teacher setPhone( );
for (int i = ; i < ; i++)
((Student) students get(i)) show();
System out println( \n============================\n );
teacher setPhone( );
for (int i = ; i < ; i++)
((Student) students get(i)) show();
}
lishixin/Article/program/Java/gj/201311/27566
android消息推送GCM、XMPP、MQTT三種方案的優劣是什么?
Android推送方案分析(MQTT/XMPP/GCM)
本文主旨在于,對目前Android平臺上最主流的幾種消息推送方案進行分析和對比,比較客觀地反映出這些推送方案的優缺點,幫助大家選擇最合適的實施方案。
方案1、使用GCM服務(Google Cloud Messaging)
簡介:Google推出的云消息服務,即第二代的G2DM。
優點:Google提供的服務、原生、簡單,無需實現和部署服務端。
缺點:Android版本限制(必須大于2.2版本),該服務在國內不夠穩定、需要用戶綁定Google帳號,受限于Google。
方案2、使用XMPP協議(Openfire + Spark + Smack)
簡介:基于XML協議的通訊協議,前身是Jabber,目前已由IETF國際標準化組織完成了標準化工作。
優點:協議成熟、強大、可擴展性強、目前主要應用于許多聊天系統中,且已有開源的Java版的開發實例androidpn。
缺點:協議較復雜、冗余(基于XML)、費流量、費電,部署硬件成本高。
簡介:輕量級的、基于代理的“發布/訂閱”模式的消息傳輸協議。
優點:協議簡潔、小巧、可擴展性強、省流量、省電,目前已經應用到企業領域(參考:買粉絲://mqtt.org/software),且已有C++版的服務端組件rsmb。
缺點:不夠成熟、實現較復雜、服務端組件rsmb不開源,部署硬件成本較高。
設計模式-快餐簡解-【觀察者模式】
【 觀察者模式應用場景舉例 】
比如在玩 極品飛車 這款游戲 每一個車手到達終點的時候 都會在其它車手的屏幕上顯示 某某人以多少時間到達終點的提示 其實這就是一個典型的觀察者模式的應用 觀察者模式即是典型的雙向一對多的應用場景下用一的一端來通知多的一端
【 觀察者 模式解釋】
類型 行為模式
定義了一種一對多的依賴關系 讓多個觀察者對象同時監聽某一個主題對象 這個主題對象的狀態發生改變時 會通知所有的觀察者對象 使它們能夠自己更新自己
【 觀察者 模式UML圖】
【 觀察者 模式 JAVA代碼實現】
新建抽象發布通知父類
package carer_subject;import java util ArrayList;import java util List;import carer_observer carer_observer;public interface carer_subject_parent { public void set_state(String state_string); public String get_state(); public void add_observer(carer_observer carer_observer_ref); public void sub_observer(carer_observer carer_observer_ref); public void notityAllCarer();}
新建發布通知實現類
package carer_subject;import java util ArrayList;import java util List;import carer_observer carer_observer;public class carer_subject_sub implements carer_subject_parent { List<carer_observer> list_observer = new ArrayList<carer_observer>(); private String state; public void set_state(String state_string) { this state = state_string; } public String get_state() { return state; } public void add_observer(carer_observer carer_observer_ref) { list_observer add(carer_observer_ref); } public void sub_observer(carer_observer carer_observer_ref) { list_observer remove(carer_observer_ref); } public void notityAllCarer() { state = 到達終點 ; for (int i = ; i < list_observer size(); i++) { list_observer get(i) show_info(); } }}
新建觀察者接口
package carer_observer;import carer_subject carer_subject_parent;public interface carer_observer { public void show_info();}
新建觀察者實現類
package carer_observer;import carer_subject carer_subject_parent;public class carer_observer_
很赞哦!(78)
相关文章
- 01 海外碩士在上海落戶要求(海歸在上海落戶需要哪些條件?)
- 01 海外短視頻下載免費使用(國外有哪些短視頻app?)
- 01 海外短視頻的選品廣場在哪里(直播和短視頻運營通常采用的三類選品精選組合是哪些)
- 04 對外經貿大學大數據專業碩士(在職研究生可以考博士嗎?)
- 01 海外短視屏下載安裝(國外有哪些短視頻app?)
- 01 海外看劇用什么app(何人可以告知有沒有大佬推薦個海外看國內電視劇軟件啊?)
- 04 小學慶元旦活動買粉絲(跨年夜活動方案精選)
- 01 海外社交app排行(全球十大社交APP排行榜有哪些)
- 01 海外看電視劇地區限制(怎么能在海外看國內的電視劇)
- 04 小王是某國內貿易公司的業務經理([單選題] 小王是某公司財務總的一名普通會計人員,因工作調動辦理會計工作交接時,通常情況下應由該)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片
职业:程序员,设计师
现居:河北省保定涞源县
工作室:小组
Email:[email protected]