您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
03 Java發布訂閱模式(設計模式-快餐簡解-【觀察者模式】)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-11 07:42:46【】2人已围观
简介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_
很赞哦!(37)
相关文章
- 02 訂閱里找不到已購項目(訂閱里找不到已購項目)
- 02 訂閱鏈接轉買粉絲配置訂閱(opencash配置訂閱失敗)
- 02 對外經濟貿易大學匯文樓(德語考試有哪些等級)
- 02 對外經濟貿易大學畢業證書封面(對外經濟貿易大學的遠程教育畢業證書含金量有多少)
- 02 訂閱鏈接怎么用(買粉絲公眾訂閱號可以做超鏈接嗎。怎么做的啊)
- 02 對外經濟貿易大學民法學期末考試(對外經濟貿易大學法學院的在職研究生)
- 02 對外經濟貿易大學畢業留京容易嗎(對外經濟貿易大學 新生未遷移戶口 不能留京嗎??)
- 02 訂閱鏈接轉買粉絲教程安卓下載(vmess如何轉換)
- 02 對外經濟貿易大學畢業要求(對外經濟貿易大學是一所怎樣的學校?其畢業證含金量有多大?)
- 02 訂閱量大的報紙有哪些(世界上發行量最大的報紙都有哪些)
热门文章
站长推荐
02 訂閱鏈接轉yaml在線格式化xml(XML和YAML的區別與使用方法)
02 對外經濟貿易大學畢業英語要求(對外經濟貿易大學博士申請英語是硬性條件么)
02 訂閱轉換服務地址配置錯誤是怎么回事(Vue用webpack搭建的項目遇到的dis買粉絲nnected問題)
02 訂閱鏈接轉買粉絲配置文件怎么(求一遠古傳說3中背景樂)
02 對外經濟貿易大學匯智樓(對外經濟貿易大學宿舍條件,宿舍幾人間環境好不好(圖片))
02 對外經濟貿易大學民法學期末考試(電大專科哪個專業好考嗎?)
02 對外經濟貿易大學畢業能落戶北京嗎(對外經濟貿易大學是在北京市嗎?它都有哪些專業?)
02 對外經濟貿易大學民法學期末考試(電大專科哪個專業好考嗎?)