您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
03 java實現發布訂閱模式(java 設計模式之 觀察者模式(Observer))
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-07 07:36:06【】8人已围观
简介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_
很赞哦!(3)
相关文章
- 01 為什么抖音播放量突然下降(為什么我的抖音播放量會突然下降)
- 01 為什么抖音圖文沒有播放量(為什么抖音發的視頻沒有播放量)
- 10 出口貿易計劃書范文大全(公司商業計劃書2022模板5篇)
- 01 為什么取消訂閱還自動扣費(為什么取消了訂閱自動扣費還不能關閉?)
- 10 國際貿易實務選擇題及答案(急求國際貿易題目答案)
- 01 為什么抖音突然播放量很高(為什么抖音視頻突然播放量到4萬)
- 10 國際教育服務貿易名詞解釋(國際商務是什么意思)
- 01 為什么我的抖音播放量很少(為什么我的抖音突然沒有播放量了?)
- 10 保育員技能大賽買粉絲內容(現代朗動為什么要停售)
- 01 為什么找不到優酷的訂閱(蘋果手機怎么取消優酷會員自動續費功能,設置里面訂閱里面也沒有訂閱?)
热门文章
站长推荐
01 為什么只有小紅書沒有網(我的小紅書為什么沒有好友在線狀態功能)
10 中建四局珠江海外公司(全國銷售額20強房企排行榜(中國房企排行榜前十名))
10 中國對外貿易500強企業排名郁多(世界十大船公司)
10 買粉絲運營的工作總結(新媒體運營4月工作總結(精選5篇))
10 義烏市彩虹貿易有限公司(全國模范勞動關系和諧企業的榮譽企業(2011))
10 國際服務貿易的限制主要表現為關稅措施是否正確(世界經濟全球化與區域一體化對國際旅游客源市場有何影響)
01 為什么我的抖音播放量很少(為什么我的抖音突然沒有播放量了?)
10 國際貿易中的匯票行為主要包括A出票B背書 C承兌D支付(以下選項中,不含匯票的是( )。 A 延期付款信用證 B 即期信用證 C 議付信用證 D 承兌信用證)