Rumah pembangunan bahagian belakang tutorial php php设计模式 Observer(观察者模式)_php技巧

php设计模式 Observer(观察者模式)_php技巧

May 17, 2016 am 09:17 AM
corak reka bentuk php Corak pemerhati

复制代码 代码如下:

/**
* 观察者模式
*
* 定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新
* 能够便利地创建查看目标对象状态的对象,并且提供与核心对象非耦合的指定功能
* 插件系统
*/
class Observerable
{
private $_observers = array();

public function registerObserver($observer)
{
$this->_observers[] = $observer;
}

public function removeObserver($observer)
{
$key = array_search($observer,$this->_observers);
if(!($key === false))
{
unset($this->_observers[$key]);
}
}

public function notifyObservers()
{
foreach($this->_observers as $observer)
{
if($observer instanceof Observer) $observer->update($this);
}
}
}

interface Observer
{
public function update($observer);
}

interface DisplayElement
{
public function display();
}

// -- 实例类定义
class NewsObserverable extends Observerable
{
private $_sports_news;
public function setSportsNews($data)
{
$this->_sports_news = $data;
$this->notifyObservers();
}

public function getSportsNews()
{
return $this->_sports_news;
}

private $_local_news;
public function setLocalNews($data)
{
$this->_local_news = $data;
$this->notifyObservers();
}

public function getLocalNews()
{
return $this->_local_news;
}
}

class SportsNews implements Observer,DisplayElement
{
private $_data = null;
public function update($observer)
{
if($this->_data != $observer->getSportsNews())
{
$this->_data = $observer->getSportsNews();
$this->display();
}
}

public function display()
{
echo $this->_data.date("Y-m-d H:i:s")."
";
}
}

class LocalNews implements Observer,DisplayElement
{
private $_data = null;
public function update($observer)
{
if($this->_data != $observer->getLocalNews())
{
$this->_data = $observer->getLocalNews();
$this->display();
}
}

public function display()
{
echo $this->_data.date("Y-m-d H:i:s")."
";
}
}

// -- 实例化 ---

$objObserver = new NewsObserverable();
$local = new LocalNews();
$sports = new SportsNews();

$objObserver->registerObserver($local);
$objObserver->registerObserver($sports);

$objObserver->setSportsNews("sports news 1 ");
$objObserver->setLocalNews("local news 1 ");
$objObserver->removeObserver($sports);
$objObserver->setLocalNews("local news 2 ");
$objObserver->setSportsNews("sports news 2 ");
$objObserver->removeObserver($local);
$objObserver->setLocalNews("local news 3 ");
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Corak Reka Bentuk PHP: Laluan ke Kecemerlangan Kod Corak Reka Bentuk PHP: Laluan ke Kecemerlangan Kod Feb 21, 2024 pm 05:30 PM

Pengenalan Corak reka bentuk PHP ialah satu set penyelesaian yang terbukti kepada cabaran biasa dalam pembangunan perisian. Dengan mengikut corak ini, pembangun boleh mencipta kod yang elegan, teguh dan boleh diselenggara. Mereka membantu pembangun mengikuti prinsip SOLID (tanggungjawab tunggal, tertutup terbuka, penggantian Liskov, pengasingan antara muka dan penyongsangan kebergantungan), dengan itu meningkatkan kebolehbacaan kod, kebolehselenggaraan dan kebolehskalaan. Jenis Corak Reka Bentuk Terdapat banyak corak reka bentuk yang berbeza, masing-masing mempunyai tujuan dan kelebihan tersendiri. Berikut ialah beberapa corak reka bentuk PHP yang paling biasa digunakan: Corak Singleton: Memastikan kelas hanya mempunyai satu tika dan menyediakan cara untuk mengakses tika ini secara global. Corak Kilang: Mencipta objek tanpa menyatakan kelas tepatnya. Ia membolehkan pemaju bersyarat

Corak reka bentuk yang biasa digunakan dalam PHP dan kaedah pelaksanaannya Corak reka bentuk yang biasa digunakan dalam PHP dan kaedah pelaksanaannya Jun 27, 2023 pm 01:08 PM

PHP adalah bahasa pengaturcaraan yang digunakan secara meluas dan sangat popular. PHP adalah bahagian yang sangat penting dalam aplikasi web hari ini. Corak reka bentuk memainkan peranan penting dalam membangunkan aplikasi PHP. Corak reka bentuk ialah templat untuk menyelesaikan masalah yang boleh digunakan semula dalam persekitaran yang berbeza Ia membantu kami menulis kod yang lebih baik dan menjadikan kod lebih dipercayai, boleh diselenggara dan berskala. Dalam artikel ini, kami akan meneroka beberapa corak reka bentuk yang biasa digunakan dalam PHP dan cara melaksanakannya. Corak Singleton Corak Singleton ialah corak ciptaan yang membolehkan

Bagaimana untuk melaksanakan corak pemerhati menggunakan Pengurus Acara dalam rangka kerja Phalcon Bagaimana untuk melaksanakan corak pemerhati menggunakan Pengurus Acara dalam rangka kerja Phalcon Aug 02, 2023 pm 07:25 PM

Cara menggunakan pengurus acara (EventManager) untuk melaksanakan corak pemerhati dalam rangka kerja Phalcon Pengenalan: Pengurus acara (EventManager) ialah salah satu fungsi teras yang berkuasa dan fleksibel dalam rangka kerja Phalcon. Dengan menggunakan pengurus acara, anda boleh melaksanakan corak Pemerhati dengan mudah untuk mencapai gandingan longgar antara objek dalam aplikasi anda. Artikel ini akan memperkenalkan anda kepada cara menggunakan pengurus acara dalam rangka kerja Phalcon untuk melaksanakan corak pemerhati dan memberikan contoh kod yang sepadan. langkah satu

Membongkar rahsia corak reka bentuk PHP Membongkar rahsia corak reka bentuk PHP Feb 21, 2024 pm 01:19 PM

1. Apakah corak reka bentuk PHP? Corak reka bentuk PHP ialah templat kod pratakrif yang direka untuk menyelesaikan masalah pembangunan perisian biasa. Mereka menyediakan penyelesaian terbukti yang meningkatkan kebolehgunaan semula kod, kebolehselenggaraan dan kebolehskalaan. 2. Jenis corak reka bentuk PHP Terdapat banyak corak reka bentuk yang berbeza dalam PHP, dan setiap corak mempunyai tujuan tertentu. Corak yang paling biasa termasuk: Corak Singleton: Memastikan hanya terdapat satu contoh kelas. Corak Kilang: Mencipta objek daripada jenis yang berbeza berdasarkan data yang dihantar kepadanya. Mod strategi: Membenarkan atur cara menukar kelakuannya semasa masa jalan. Corak Pemerhati: Membenarkan objek melanggan acara dan dimaklumkan apabila peristiwa berlaku. 3. Contoh mod Singleton classSingleInstance{private

Corak dan amalan reka bentuk teras PHP Corak dan amalan reka bentuk teras PHP Nov 08, 2023 pm 08:58 PM

Pengenalan kepada corak dan amalan reka bentuk teras PHP: Corak reka bentuk biasanya digunakan templat penyelesaian masalah dalam pembangunan perisian. Ia menyediakan penyelesaian yang boleh digunakan semula yang boleh membantu kami mengikuti amalan terbaik dan prinsip reka bentuk perisian yang baik semasa proses pembangunan. Sebagai bahasa pengaturcaraan yang digunakan secara meluas, PHP juga mempunyai banyak corak reka bentuk biasa dan berguna yang boleh digunakan dalam pembangunan teras. Artikel ini akan memperkenalkan beberapa corak reka bentuk PHP biasa dan menyediakan contoh kod yang berkaitan. 1. Mod Singleton (Singleton) Mod Singleton adalah jenis yang hanya membenarkan

Bermula dengan PHP: Corak Pemerhati Bermula dengan PHP: Corak Pemerhati May 20, 2023 am 08:21 AM

Corak reka bentuk adalah konsep yang digunakan secara meluas dalam pembangunan perisian moden. Corak reka bentuk ialah penyelesaian biasa yang ditemui dalam sistem perisian yang diuji dan terbukti membantu pembangun membina aplikasi perisian yang kompleks dengan lebih cekap. Corak pemerhati ialah salah satu corak reka bentuk yang paling biasa, dan ia juga merupakan konsep penting yang perlu dikuasai oleh pembangun PHP. Dalam artikel ini, kami akan memperkenalkan konsep dan pelaksanaan corak Pemerhati dan menunjukkan cara menggunakannya dalam aplikasi PHP. Apakah corak pemerhati? Corak pemerhati ialah a

Apakah corak reka bentuk dalam php? Apakah corak reka bentuk dalam php? Jul 25, 2023 am 09:39 AM

Corak reka bentuk PHP termasuk: 1. Mod Singleton, yang memastikan bahawa kelas hanya mempunyai satu objek instantiated; 2. Mod kilang, yang merangkumi proses instantiasi objek dalam kelas kilang; Corak kilang untuk mencipta objek; objek; 7. Corak iterator; 8. Corak strategi;

Tingkatkan kemahiran pengaturcaraan Java: kuasai pelaksanaan corak penyesuai dan corak pemerhati Tingkatkan kemahiran pengaturcaraan Java: kuasai pelaksanaan corak penyesuai dan corak pemerhati Dec 23, 2023 am 11:52 AM

Meningkatkan kemahiran pengaturcaraan Java: Menguasai pelaksanaan mod penyesuai dan mod pemerhati, memerlukan contoh kod khusus Pengenalan: Dalam pembangunan perisian harian, kita sering perlu menangani isu keserasian antara kelas yang berbeza, dan juga perlu melaksanakan pelbagai antara muka pengguna Pemantauan dan pemprosesan acara . Corak penyesuai dan Corak Pemerhati ialah dua corak reka bentuk yang biasa digunakan yang boleh menyelesaikan masalah ini dengan berkesan. Artikel ini akan memperkenalkan pelaksanaan corak penyesuai dan corak pemerhati secara terperinci, dan menyediakan contoh kod Java khusus untuk membantu pembaca memahami dengan lebih baik. satu,

See all articles