您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
01 java實現發布訂閱者(java什么叫類屬性 實例屬性 以及區別)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-06-14 17:17:40【】7人已围观
简介java設計模式之觀察者模式(Observer)//SubjectjavapackageyoungmastermodelObserver;/***@authoryoungmaster*@Email:y
java 設計模式之 觀察者模式(Observer)
//Subject java
package youngmaster model Observer;
/
*** @author youngmaster
* @E mail:young * @version myEclipse
* @create time 上午 : :
*/
/
*** 察者模式屬于行為型模式 其意圖是定義對象間的一種一對多的依賴關系
* 當一個對象的狀態發生改變時 所有依賴于它的對象都得到通知并被自動更新
* 在制作系統的過程中 將一個系統分割成一系列相互協作的類有一個常見的副作用
* 需要維護相關對象間的一致性 我們不希望為了維持一致性而使各類緊密耦合
* 因為這樣降低了他們的可充用性 這一個模式的關鍵對象是目標(Subject)和觀察者(Observer)
* 一個目標可以有任意數目的依賴它的觀察者 一旦目標的狀態發生改變 所有的觀察者都得到通知
* 作為對這個通知的響應 每個觀察者都將查詢目標以使其狀態與目標的狀態同步 這種交互也稱為發布 訂閱模式
* 目標是通知的發布者 他發出通知時并不需要知道誰是他的觀察者 可以有任意數據的觀察者訂閱并接收通知
*/
/
*** subject
*目標接口
*/
public interface Subject {
public void addObserver(Observer o);
public void deletObserver(Observer o);
public void notice();
}
//Observer java
package youngmaster model Observer;
/
*** @author youngmaster
* @E mail:young * @version myEclipse
* @create time 上午 : :
*/
/
***觀察者接口
*/
public interface Observer {
public void update();
}
//Teacher java
package youngmaster model Observer;
import java util Vector;
/
*** @author youngmaster
* @E mail:young * @version myEclipse
* @create time 上午 : :
*/
/
***目標接口實現
*/
public class Teacher implements Subject {
private String phone;
@SuppressWarnings( unchecked )
private Vector students;
@SuppressWarnings( unchecked )
public Teacher() {
phone = ;
students = new Vector();
}
@SuppressWarnings( unchecked )
@Override
public void addObserver(Observer o) {
students add(o);
}
@Override
public void deletObserver(Observer o) {
students remove(o);
}
@Override
public void notice() {
for (int i = ; i < students size(); i++) { ((Observer) students get(i)) update();
}
}
public void setPhone(String phone) {
this phone = phone;
notice();
}
public String getPhone() {
return phone;
}
}
//Student java
package youngmaster model Observer;
/
*** @author youngmaster
* @E mail:young * @version myEclipse
* @create time 上午 : :
*/
/
***觀察者接口實現
*/
public class Student implements Observer {
private String name;
private String phone;
private Teacher teacher;
public Student(String name Teacher teacher) { this name = name; this teacher = teacher;
}
public void show() {
System out println( Name: + name + \nTeacher s phone: + phone);
}
@Override
public void update() {
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
誰能介紹一下JAVA平臺開發中最長用的幾種設計模式~最好是通俗一些的并且有實例的~500分酬謝
例子很另類,不過還比較好懂
工廠模式, 工廠方法模式,單例模式, 外觀(Facade)模式, 觀察者(Observer)模式,橋接(Bridge)模式都是比較常用的,不同的項目有不同的設計方向,可以參考的設計模式也不盡相同,沒有定數,只是上面這幾個模式用的比較多一些。
其他的模式我找了一下,都列出來了。
======================
Java常用的設計模式
創建型模式
1、FACTORY—追MM少不了請吃飯了,麥當勞的雞翅和肯德基的雞翅都是MM愛吃的東西,雖然口味有所不同,但不管你帶MM去麥當勞或肯德基,只管向服務員說“來四個雞翅”就行了。麥當勞和肯德基就是生產雞翅的Factory
工廠模式:客戶類和工廠類分開。消費者任何時候需要某種產品,只需向工廠請求即可。消費者無須修改就可以接納新產品。缺點是當產品修改時,工廠類也要做相應的修改。如:如何創建及如何向客戶端提供。
2、BUILDER—MM最愛聽的就是“我愛你”這句話了,見到不同地方的MM,要能夠用她們的方言跟她說這句話哦,我有一個多種語言翻譯機,上面每種語言都有一個按鍵,見到MM我只要按對應的鍵,它就能夠用相應的語言說出“我愛你”這句話了,國外的MM也可以輕松搞掂,這就是我的“我愛你”builder。(這一定比美軍在伊拉克用的
很赞哦!(2)
相关文章
- 01 app store海外賬號app(ipad的appstore海外賬號切換賬號之后下東西總要付費)
- 01 01 主播給粉絲買衣服買鞋子(為什么粉絲要給主播送禮物)
- 01 01 買來的粉絲帶貨有影響嗎(買的粉絲對直播帶貨有好處嗎?)
- 01 ai圖文帶貨賺錢是真的嗎(ai圖文帶貨是真的嗎)
- 01 01 買來的半成品扇貝粉絲怎么吃(速凍半成品粉絲扇貝,做之前用清洗嗎)
- 01 app store取消訂閱點了沒反應(在App store 訂閱的東西,取消訂閱了,但是還在里面,請問這種情況下月到期了會自動扣費嘛?)
- 01 01 買了粉絲怎么處理(抖音花錢買了粉絲,但我又不想要了,可以退款嗎?)
- 01 app youtube windows 11安裝(零基礎學Python應該學習哪些入門知識)
- 01 apple music沒訂閱為什么會自動續費(apple music怎樣取消自動續費?)
- 01 altair inspire怎么添加材料(win 11的電腦 用altair inspire一點分析運動就閃退 怎么辦 比賽急用)
热门文章
站长推荐
01 apple tv+訂閱(如何在國內免費開通一年 Apple TV+ 服務?)
01 Apple Arcade與其他訂閱服務比較(蘋果順勢推出的Apple Arcade游戲訂閱服務,到底有什么特別的地方?)
01 01 買手機送粉絲手機(快手上為了長粉絲,送錢送手機是真的嗎?)
01 01 買的粉絲為什么老掉(抖音買的熱門增加的粉絲后一直掉)
01 all kinds of problems什么意思(英語話題作文)
01 01 買玉石雕刻給粉絲(玉匠人小徐的翡翠貨是真的嗎)
01 01 買的粉絲不見了(在快手為什么同一個粉絲在櫥窗買東西,總銷量看不見)
01 apple music取消訂閱還扣錢(AppleMusic自動扣費如何取消?)