中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

成都市建設(shè)局官網(wǎng)seo優(yōu)化方式包括

成都市建設(shè)局官網(wǎng),seo優(yōu)化方式包括,網(wǎng)站海報(bào)是怎么做的,wordpress炫酷背景💧 觀察者模式 \color{#FF1493}{觀察者模式} 觀察者模式💧 🌷 仰望天空,妳我亦是行人.? 🦄 個(gè)人主頁(yè)——微風(fēng)撞見(jiàn)云的博客🎐 🐳 《數(shù)據(jù)結(jié)構(gòu)與算法》專(zhuān)欄的文章圖文并茂🦕…

在這里插入圖片描述

???????????????????????????????????????????????????????????????????????????????????????💧 觀察者模式 \color{#FF1493}{觀察者模式} 觀察者模式💧 ?????????


🌷 仰望天空,妳我亦是行人.?
🦄 個(gè)人主頁(yè)——微風(fēng)撞見(jiàn)云的博客🎐
🐳 《數(shù)據(jù)結(jié)構(gòu)與算法》專(zhuān)欄的文章圖文并茂🦕生動(dòng)形象🦖簡(jiǎn)單易學(xué)!歡迎大家來(lái)踩踩~🌺
💧 《Java學(xué)習(xí)筆記》專(zhuān)欄的文章是本人在Java學(xué)習(xí)中總結(jié)的一些知識(shí)點(diǎn)~ 💐
🥣 《每天一點(diǎn)小知識(shí)》專(zhuān)欄的文章可以豐富你的知識(shí)庫(kù),滴水成河~ 🌊
🪁 希望本文能夠給讀者帶來(lái)一定的幫助~🌸文章粗淺,敬請(qǐng)批評(píng)指正!🐥


文章目錄

  • 🐳設(shè)計(jì)模式之觀察者模式
    • 引言
    • 觀察者模式的概念和思想
    • 應(yīng)用場(chǎng)景
    • 實(shí)現(xiàn)方式
      • 使用接口
      • 使用 Java 內(nèi)置的觀察者模式
    • 使用觀察者模式
    • 總結(jié)
  • 🐳結(jié)語(yǔ)


🐳設(shè)計(jì)模式之觀察者模式

引言

設(shè)計(jì)模式是軟件開(kāi)發(fā)中重要的概念之一。觀察者模式是設(shè)計(jì)模式中的一種,它用于定義對(duì)象之間的一對(duì)多依賴(lài)關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),其所有依賴(lài)者都會(huì)得到通知并自動(dòng)更新。在本文中,我們將深入探討觀察者模式的概念和思想,并介紹觀察者模式的應(yīng)用場(chǎng)景以及常見(jiàn)的代碼實(shí)現(xiàn)方式。


觀察者模式的概念和思想

??💧觀察者模式是一種行為型設(shè)計(jì)模式,它建立了一種對(duì)象之間的依賴(lài)關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),其所有依賴(lài)者都會(huì)得到通知并自動(dòng)更新。

??💧觀察者模式的核心思想是將觀察者和被觀察者解耦,使得它們可以獨(dú)立變化。被觀察者維護(hù)一個(gè)觀察者列表,并提供注冊(cè)、注銷(xiāo)和通知觀察者的方法。觀察者通過(guò)注冊(cè)到被觀察者上,實(shí)現(xiàn)對(duì)被觀察者狀態(tài)變化的監(jiān)聽(tīng)。

觀察者模式的應(yīng)用場(chǎng)景以及常見(jiàn)的代碼實(shí)現(xiàn)方式 ↓

應(yīng)用場(chǎng)景

??💧觀察者模式通常在以下場(chǎng)景中使用:

  • 當(dāng)一個(gè)對(duì)象的狀態(tài)變化需要通知其他對(duì)象,并且不希望與被通知的對(duì)象之間產(chǎn)生緊耦合關(guān)系時(shí)。
  • 當(dāng)一個(gè)對(duì)象的改變需要同時(shí)改變其他對(duì)象,并且不知道有多少對(duì)象需要改變時(shí)。
  • 當(dāng)一個(gè)對(duì)象需要將自己的改變通知給一組對(duì)象時(shí)

實(shí)現(xiàn)方式

??💧觀察者模式有多種實(shí)現(xiàn)方式,其中最常見(jiàn)的方式包括使用接口使用 Java 內(nèi)置的觀察者模式實(shí)現(xiàn)。

使用接口

??💧首先,我們定義一個(gè)被觀察者接口 Subject 和一個(gè)觀察者接口 Observer

public interface Subject {void registerObserver(Observer observer);void unregisterObserver(Observer observer);void notifyObservers();
}public interface Observer {void update();
}

在上述代碼中,Subject 接口定義了注冊(cè)觀察者、注銷(xiāo)觀察者和通知觀察者的方法。Observer 接口定義了觀察者的 update() 方法,用于接收被觀察者的通知。

??💧接下來(lái),我們實(shí)現(xiàn)具體的被觀察者類(lèi) ConcreteSubjectConcreteObserver

public class ConcreteSubject implements Subject {private List<Observer> observers = new ArrayList<>();private int state;public void registerObserver(Observer observer) {observers.add(observer);}public void unregisterObserver(Observer observer) {observers.remove(observer);}public void notifyObservers() {for (Observer observer : observers) {observer.update();}}public int getState() {return state;}public void setState(int state) {this.state = state;notifyObservers();}
}public class ConcreteObserver implements Observer {private Subject subject;public ConcreteObserver(Subject subject) {this.subject = subject;subject.registerObserver(this);}public void update() {int state = subject.getState();// 處理被觀察者狀態(tài)變化的邏輯}
}

在上述代碼中,ConcreteSubject 類(lèi)實(shí)現(xiàn)了 Subject 接口,它維護(hù)了一個(gè)觀察者列表并實(shí)現(xiàn)了注冊(cè)、注銷(xiāo)和通知觀察者的方法。當(dāng) ConcreteSubject 的狀態(tài)發(fā)生變化時(shí),它會(huì)調(diào)用 notifyObservers() 方法通知所有觀察者。

ConcreteObserver 類(lèi)實(shí)現(xiàn)了 Observer 接口,它在構(gòu)造函數(shù)中注冊(cè)到被觀察者上,并實(shí)現(xiàn)了 update() 方法來(lái)處理被觀察者狀態(tài)變化的邏輯。

使用 Java 內(nèi)置的觀察者模式

??💧Java 提供了內(nèi)置的觀察者模式實(shí)現(xiàn),可以通過(guò) java.util.Observable 類(lèi)和 java.util.Observer 接口來(lái)實(shí)現(xiàn)觀察者模式。

import java.util.Observable;
import java.util.Observer;public class ConcreteSubject extends Observable {private int state;public int getState() {return state;}public void setState(int state) {this.state = state;setChanged();notifyObservers();}
}public class ConcreteObserver implements Observer {public void update(Observable o, Object arg) {int state = ((ConcreteSubject) o).getState();// 處理被觀察者狀態(tài)變化的邏輯}
}

在上述代碼中,ConcreteSubject 類(lèi)繼承自 java.util.Observable 類(lèi),并使用 setChanged() 方法標(biāo)記狀態(tài)變化,然后調(diào)用 notifyObservers() 方法通知觀察者。

ConcreteObserver 類(lèi)實(shí)現(xiàn)了 java.util.Observer 接口,它的 update() 方法會(huì)在被觀察者狀態(tài)變化時(shí)被調(diào)用。

使用觀察者模式

??💧以下是觀察者模式的使用示例:

public class Client {public static void main(String[] args) {ConcreteSubject subject = new ConcreteSubject();ConcreteObserver observer1 = new ConcreteObserver(subject);ConcreteObserver observer2 = new ConcreteObserver(subject);subject.setState(1);// 輸出:處理被觀察者狀態(tài)變化的邏輯// 輸出:處理被觀察者狀態(tài)變化的邏輯}
}

在上述代碼中,我們創(chuàng)建了一個(gè)具體的被觀察者對(duì)象 ConcreteSubject 和兩個(gè)具體的觀察者對(duì)象 ConcreteObserver。通過(guò)將觀察者注冊(cè)到被觀察者上,當(dāng)被觀察者狀態(tài)發(fā)生變化時(shí),觀察者的 update() 方法會(huì)被調(diào)用。

總結(jié)

????觀察者模式是一種有用的設(shè)計(jì)模式,它能夠?qū)崿F(xiàn)對(duì)象之間的一對(duì)多依賴(lài)關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),其所有依賴(lài)者都會(huì)得到通知并自動(dòng)更新。通過(guò)觀察者模式,我們可以實(shí)現(xiàn)松耦合的對(duì)象間通信,提高代碼的靈活性和可維護(hù)性。


在這里插入圖片描述


🐳結(jié)語(yǔ)

🐬初學(xué)一門(mén)技術(shù)時(shí),總有些許的疑惑,別怕,它們是我們學(xué)習(xí)路上的點(diǎn)點(diǎn)繁星,幫助我們不斷成長(zhǎng)。

🐟積少成多,滴水成河。文章粗淺,希望對(duì)大家有幫助!

http://www.risenshineclean.com/news/35952.html

相關(guān)文章:

  • 邯鄲網(wǎng)站建設(shè)安聯(lián)網(wǎng)絡(luò)nb抖音推廣引流平臺(tái)
  • 網(wǎng)站開(kāi)發(fā) 招標(biāo)采購(gòu)參數(shù)愛(ài)站網(wǎng)關(guān)鍵詞
  • 網(wǎng)站怎樣做優(yōu)化調(diào)整百度公司招聘崗位
  • 國(guó)內(nèi)建網(wǎng)站知名企業(yè)網(wǎng)站制作廠家有哪些
  • 網(wǎng)站開(kāi)發(fā)運(yùn)用到的相關(guān)技術(shù)百度競(jìng)價(jià)推廣方案的制定
  • 網(wǎng)站制作公司上海微信引流推廣
  • 做好網(wǎng)站建設(shè)的重要性app優(yōu)化建議
  • 做壞事小視頻網(wǎng)站企業(yè)培訓(xùn)計(jì)劃
  • 泰安百度做網(wǎng)站的百度搜索熱度排名
  • 涼山網(wǎng)站開(kāi)發(fā)推廣計(jì)劃怎么做
  • dreamweaver教程做網(wǎng)站新浪網(wǎng)今日烏魯木齊新聞
  • 網(wǎng)站搭建 審查重慶搜索排名提升
  • 做代還的人都聚集在哪些網(wǎng)站怎么開(kāi)網(wǎng)店
  • 渭南做網(wǎng)站怎么免費(fèi)創(chuàng)建個(gè)人網(wǎng)站
  • 自己0基礎(chǔ)怎么創(chuàng)業(yè)seo搜索引擎優(yōu)化人員
  • 網(wǎng)站建設(shè) 北京優(yōu)化網(wǎng)站建設(shè)
  • 東莞做網(wǎng)站那家好網(wǎng)站優(yōu)化聯(lián)系
  • 做網(wǎng)站推廣費(fèi)用網(wǎng)絡(luò)推廣代理
  • 做網(wǎng)站需要學(xué)什么蘇州seo網(wǎng)站管理
  • 可以加外鏈的網(wǎng)站成都網(wǎng)站推廣哪家專(zhuān)業(yè)
  • 沈陽(yáng)建設(shè)網(wǎng)站騰訊廣告推廣平臺(tái)入口
  • 北京網(wǎng)站搭建服務(wù)商南寧百度推廣排名優(yōu)化
  • 跨境電商單頁(yè)網(wǎng)站的詳情頁(yè)怎么做的如何推廣自己成為網(wǎng)紅
  • 永川做網(wǎng)站萬(wàn)能導(dǎo)航網(wǎng)
  • 網(wǎng)站整套模板品牌整合推廣
  • 網(wǎng)站建設(shè)培訓(xùn)公司國(guó)內(nèi)比百度好的搜索引擎
  • 養(yǎng)殖場(chǎng)網(wǎng)站源碼平臺(tái)軟件定制開(kāi)發(fā)
  • 當(dāng)當(dāng)網(wǎng)網(wǎng)站系統(tǒng)建設(shè)的意義搜索引擎優(yōu)化方法包括
  • 新吳區(qū)推薦做網(wǎng)站電話(huà)2021國(guó)內(nèi)最好用免費(fèi)建站系統(tǒng)
  • 專(zhuān)為網(wǎng)站做點(diǎn)擊量網(wǎng)絡(luò)營(yíng)銷(xiāo)師工作內(nèi)容