觀察者模式(observer pattern)物件間的一種一對多的依賴關係,當乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知並被自動更新。其實就是發布訂閱模式,發布者發布資訊,訂閱者獲取資訊,訂閱了就能收到資訊,沒訂閱就收不到資訊。優點
缺點該模式包含四個角色
public
inte***ce
observer
定義乙個具體觀察者類
public
class
user
implements
observer
@override
public
void
update
(string message)
}
定義乙個被觀察者介面
public
inte***ce
observable
定義乙個具體被觀察者類
public
class
wechatobservable
implements
observable
@override
public
void
registerobserver
(observer o)
@override
public
void
removeobserver
(observer o)
@override
public
void
notifyobserver
(string msg)
}public
void
setinfomation
(string msg)
}
測試類
public
class
test
}
輸出結果
使用者:zhangsan 收到訊息: 傳送了一條訊息
使用者:lisi 收到訊息: 傳送了一條訊息
使用者:wangwu 收到訊息: 傳送了一條訊息
使用者:lisi 收到訊息: 傳送了一條訊息
使用者:wangwu 收到訊息: 傳送了一條訊息
設計模式 行為型模式 觀察者模式
抽象觀察類 inte ce observer 戰隊成員類 具體觀察者類 class player implements observer public void setname string name public string getname 支援盟友方法的實現 public void help ...
JAVA設計模式(行為型) 模板模式
定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。public class template main 模板定義,提供給外部同型別樣式,特殊方法特殊實現 abstract class abstractplay priv...
設計模式 行為型模式
行為型模式用於描述程式在執行時複雜的流程控制,即描述多個類或物件之間怎樣相互協作共同完成單個物件都無法單獨完成的任務,它涉及演算法與物件間職責的分配。行為型模式分為類行為模式和物件行為模式,前者採用繼承機制來在類間分派行為,後者採用組合或聚合在物件間分配行為。由於組合關係或聚合關係比繼承關係耦合度低...