1. 程式人生 > >Android使用的設計模式1——觀察者模式

Android使用的設計模式1——觀察者模式

   //目標物件介面
    public interface Subject
    {
        //呼叫這個方法註冊一個新的觀察者物件
        public void attach(Observer observer);
        
        //呼叫這個方法刪除一個已註冊的觀察者物件
        public void detach(Observer observer);
        
        //呼叫這個方法通知所有註冊的觀察者物件
        void notifyObservers();
    }  
    
    
//目標物件實現 public class ConcreteSubject implements Subject {
    //向量容器,儲存所有註冊的觀察者
private Vector observersVector = new Vector(); public void attach(Observer observer) { observersVector.addElement(observer); } public void
detach(Observer observer) { observersVector.removeElement(observer); } public void notifyObservers() { Enumeration enumeration = observers(); while(enumeration.hasMoreElements()) { ((Observer)enumeration.nextElement()).update(); } } }

相關推薦

Android使用的設計模式1——觀察模式

   //目標物件介面 public interface Subject { //呼叫這個方法註冊一個新的觀察者物件 public void attach(Observer observer); //呼叫這個

自我聯想學設計模式(初級版)-1-觀察模式

如果單純的看書,其實很容易陷入到各種概念中去,最終導致似乎懂了,但實際開始使用的時候又有各種問題。這個版本的設計模式只從實用來入手,就是在各種情況下,根據聯想快速的代入這個模式,能夠迅速用起來,轉化為程式碼。所以這個版本的設計模式都以現實中的例子自己聯想。 假設我以去電影院看電影為例,因為觀

大話設計模式觀察模式

arm eve his watermark observer cts 多個 放下 們的 從前,有個放羊娃。每天都去山上放羊,一天,他認為十分無聊。就想了個捉弄大家尋開心的主意。他向著山下正在種田的農夫們大聲喊:“狼來了!狼來了!救命啊!”農夫們聽到喊聲

設計模式觀察模式

觀察者模式 observer 監聽器的底層實現 observable 群發消息 轉發機制 1、觀察者模式的簡單介紹: a、核心: - 觀察者模式主要用於 1 : N 的通知中。當一個對象(目標對象 Subject 或者 Objservable )的狀態變化時,他需要及時告知

PHP模式設計之單例模式、工廠模式、註冊樹模式、適配器模式觀察模式

操作符 unset 關系 玩具 ati ase color 只有一個 bsp php模式設計之單例模式   什麽是單例模式?   單例模式是指在整個應用中只有一個實例對象的設計模式   為什麽要用單例模式?   php經常要鏈接數據庫,如果在一個項目中頻繁建立連接數據庫,會

Java設計模式補充:回調模式、事件監聽器模式觀察模式(轉)

應該 hand 關閉 lan china 關註 update 使用 event 一、回調函數 為什麽首先會講回調函數呢?因為這個是理解監聽器、觀察者模式的關鍵。 什麽是回調函數 所謂的回調,用於回調的函數。 回調函數只是一個功能片段,由用戶按照回調函數調用約定來實現的

設計模式觀察模式詳解

http 通知 stat 發布-訂閱 () class arraylist nag .cn 觀察者模式又稱為發布-訂閱模式,涉及的角色有:   ●  抽象主題   ●  具體主題   ●  抽象觀察者   ●  具體觀察者 案例演示:公司發放工資的時候通知所有觀察者工資已發

設計模式觀察模式

new mes 一對多 建議 ios between 生存 兩個 開始 1、定義 1.1 標準定義 觀察者模式(Observer Pattern)也叫做發布訂閱模式(Publish/subscribe),它是一個在項目中經常使用的模式,其定義如下:Define a one-

23種設計模式觀察模式

主題 一個 server bsp 監聽 images 關系 .com 自動更新 觀察者模式(Observer):定義了一種一對多的關系,讓多個觀察者對象同時監聽某一個主題對象。這個主題對象在狀態發生變化時,會通知所有觀察者對象,使它們能夠自動更新自己。 23種設計模式之

設計模式4(代理模式觀察模式

代理 bject body border 策略 解決 設計模式 server 觀察者 代理模式 本質是控制對主題對象的訪問 功能 目的 代理模式 但是代理對象則提供與目標對象相同的接口 控制對象的訪問 適配器模式 解決接口

PHP設計模式觀察模式

php 設計模式 觀察者模式 發布 訂閱 首先來看個栗子://事件 class EventDemo { //觸發了新事件 public function trigger() { echo "Event happening\r";

C#設計模式(17)——觀察模式(Observer Pattern)

oid tar 自然 img info handler 這不 自身 dash 原文:C#設計模式(17)——觀察者模式(Observer Pattern)一、引言   在現實生活中,處處可見觀察者模式,例如,微信中的訂閱號,訂閱博客和QQ微博中關註好友,這些都屬於觀察者

GOF23設計模式觀察模式(observer)

hang 事件監聽器 rgs str arr public pda import lob 一、觀察者模式概述   觀察者模式主要用於 1 :N 的通知。當一個對象(目標對象 Subject 或 Observable)的狀態變化時,它需要通知一系列對象(觀察者對象 Obser

設計模式-行為型模式觀察模式(13)

IT color 行為型模式 行為型 它的 pan value 依賴 更新 當對象間存在一對多關系時,則使用觀察者模式(Observer Pattern)。比如,當一個對象被修改時,則會自動通知它的依賴對象。觀察者模式屬於行為型模式。 有時,我們希望在一個對象的狀態改變時

JAVA設計模式觀察模式

設計原則 設計模式 測試類 stat tin 正常 san date() 觀察者模式 轉載請註明出處:https://www.cnblogs.com/luohanguo/p/7825656.html 1、初步認識 觀察者模式的定義:   在對象之間定義了一對多的依賴

js 設計模式觀察模式

swe 有變 主題 頁面 ESS eache 不能 mov 學生類 觀察者模式 又被稱為“發布-訂閱”模式,目的是解決主題對象和觀察者之間功能的耦合性。發布者和訂閱者之間是互不幹擾的,沒有聯系的,通過觀察者,當做中介,將二者聯系起來。 例子:以學生和老師之間的為例 1.首先

Java 設計模式觀察模式

float stock chan bject 17. sta chang eth int http://www.verejava.com/?id=16999149610674 package com.observer.theory; public class Test {

PHP 設計模式觀察模式

通知 更新 一對多 改變 變化 variable 它的 all 正常 觀察者模式定義對象的一對多依賴,這樣一來,當一個對象改變狀態時,它的所有依賴者都會收到通知並自動更新! 設計原則 在觀察者模式中,會改變的是主題的狀態以及觀察者的數目。用這個模式,你可以改變

設計模式觀察模式--Observer

sub 系統調用 特點 xiaomi ttr root comm wrap 切換 一、什麽是觀察者模式 1、生活中的觀察者模式 1、警察抓小偷 在現實生活中,警察抓小偷是一個典型的觀察者模式「這以一個慣犯在街道逛街然後被抓為例子」,這裏小偷就是被觀察者,各個幹

java設計模式3--觀察模式

san 制圖 同時 限制 tar int 構圖 所有 fomat 觀察者模式的定義:   在對象之間定義了一對多的依賴,這樣一來,當一個對象改變狀態,依賴它的對象會收到通知並自動更新。 大白話:   其實就是發布訂閱模式,發布者發布信息,訂閱者獲取信息,訂閱了就能收到信息,