国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

??
php設(shè)計模式 觀察者模式,設(shè)計模式觀察者
? ??? ?? PHP ???? php設(shè)計模式 觀察者模式,設(shè)計模式觀察者_PHP教程

php設(shè)計模式 觀察者模式,設(shè)計模式觀察者_PHP教程

Jul 12, 2016 am 08:58 AM
??? ??

php設(shè)計模式 觀察者模式,設(shè)計模式觀察者

觀察者模式的核心是把客戶元素(觀察者)從一個中心類(主體)中分離開來。當主體知道事件發(fā)生時,觀察者需要被通知到。同時,我們并不希望將主體與觀察者之間的關(guān)系進行硬編碼。為了達到這個目的,我們可以允許觀察者在主體上進行注冊。

觀察者模式實現(xiàn)了低耦合、非侵入式的通知與更新機制。

場景:當一個事件發(fā)生后,要執(zhí)行一連串更新操作。

<span>EventGenerator</span>.php
<?<span>php
namespace Baobab;
</span><span>/*</span><span>*
 * Class EventGenerator 基類,事件發(fā)生者
 </span><span>*/</span>
<span>abstract</span> <span>class</span><span> EventGenerator{

    </span><span>//</span><span>觀察者對于事件發(fā)生者是不可見的,事件發(fā)生者不關(guān)心有哪些觀察者關(guān)注了事件</span>
    <span>private</span> <span>$observers</span> = <span>array</span><span>();

    </span><span>/*</span><span>*
     * 添加觀察者
     </span><span>*/</span>
    <span>function</span> addObserver(Observer <span>$observer</span><span>){
        </span><span>$this</span>->observers[] = <span>$observer</span><span>;
    }

    </span><span>/*</span><span>*
     *逐個通知觀察者進行更新的操作
     </span><span>*/</span>
    <span>function</span><span> notify(){
        </span><span>foreach</span>(<span>$this</span>->observers <span>as</span> <span>$observer</span><span>){
            </span><span>$observer</span>-><span>update();
        }
    }
}</span>
<span>Observer</span>.php
<?<span>php
namespace Baobab;
</span><span>/*</span><span>*
 * Class Observer 觀察者,觀察的對象是事件發(fā)生者
 * @package Baobab
 </span><span>*/</span>
<span>interface</span><span> Observer{
    </span><span>/*</span><span>*
     * @param null $event_info  事件的信息
     * 表示事件發(fā)生后進行更新的操作
     </span><span>*/</span>
    <span>function</span> update(<span>$event_info</span> = <span>null</span><span>);
}</span>

index.php

<span>class</span> Event <span>extends</span><span> \Baobab\EventGenerator{
    </span><span>/*</span><span>*
     *觸發(fā)一個新的事件
     </span><span>*/</span>
    <span>function</span><span> trigger(){
        </span><span>echo</span> 'Event發(fā)生'<span>;
        </span><span>$this</span>-><span>notify();
    }
}

</span><span>/*</span><span>*
 * 觀察者1
 </span><span>*/</span>
<span>class</span> Observer1 <span>implements</span><span> \Baobab\Observer{
    </span><span>function</span> Update(<span>$event_info</span> = <span>null</span><span>){
        </span><span>echo</span> '更新操作代碼1'<span>;
    }
}<br />
<span>/*<span>* <br /> * 觀察者2 <br /><span> */</span></span></span>
</span><span>class</span> Observer2 <span>implements</span><span> \Baobab\Observer{
    </span><span>function</span> Update(<span>$event_info</span> = <span>null</span><span>){
        </span><span>echo</span> '更新操作代碼2'<span>;
    }
}

</span><span>$event</span> = <span>new</span><span> Event();
</span><span>$event</span>->addObserver(<span>new</span><span> Observer1());
</span><span>$event</span>->addObserver(<span>new</span><span> Observer2());
</span><span>$event</span>->trigger();

?

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1105142.htmlTechArticlephp設(shè)計模式 觀察者模式,設(shè)計模式觀察者 觀察者模式的核心是把客戶元素(觀察者)從一個中心類(主體)中分離開來。當主體知道事件...
? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1601
29
PHP ????
1502
276
???
Java ?????? ??? ??? ???? ??? ??? Java ?????? ??? ??? ???? ??? ??? Jun 02, 2024 pm 12:59 PM

Java ??????? ??? ??? ???? ??? ???? ??? ??? ???? ??(?: ??? ??) ?? ?? ??? ??? ?? ????? ???? ???? ??? ?? ???? ???? ????? ????. ???? ??? ???? ????? ?? ??? ?? ??? ?? ? ?? ??? ??? ?? ??? ??? ?? ?? ??? ?????.

PHP ??? ??: ?? ??? ?? ?? PHP ??? ??: ?? ??? ?? ?? Jun 03, 2024 pm 02:14 PM

TDD? ??? PHP ??? ???? ? ?????. ???? ??? ?? ??, ?? ?? ?? ? ?? ???? ?????. ??? ???? ?? ?? ?? ??? ???? ????? ??? ?????. ??? ???? ??? ? ??? ????? ?????? ???, ?? ??? ? ???? ??????.

Guice ?????? ??? ?? ?? Guice ?????? ??? ?? ?? Jun 02, 2024 pm 10:49 PM

Guice ?????? ??? ??? ??? ??? ??? ?????. ??? ??: @Singleton ??? ?? ???? ????? ??? ??? ?????. ??? ??? ??: @Provides ??? ?? ??? ???? ???? ??? ?? ?? ?? ????? ????. ?? ??: ????? ??? ?? ???? ????? @Named ??? ?? ?? ??? ?????.

Java ??? ??? ????? ?? ?? Java ??? ??? ????? ?? ?? May 09, 2024 pm 03:12 PM

????? ??? ?? ???? ???? ??? ?? ??? ???? ??? ? ?? ??? ??? ?????. ?? ????, ???? ????, ?? ?????, ???? ?????? ??? ?? ????, ???? ??? ?? ??? ??? ???? ??? ? ????. ? ???? ??? ?? ?????? ? $2.29? ???? Espresso? ???? ??? ??? ???? ???? ????? ??? ?? ?????.

Spring MVC ?????? ??? ?? ?? Spring MVC ?????? ??? ?? ?? Jun 02, 2024 am 10:35 AM

SpringMVC ?????? ?? ??? ??? ?????: 1. ??? ??: Spring ????? ?????. 2. Facade ??: ????, ? ? ?? ?? ??? ?????. 3. ?? ??: ??? ???? ?? ???? ?????. : ?????? ???? ???? ?????. ??? ??? ??? SpringMVC? ??? ???? ???? ???? ????? ?? ?? ??? ??????? ?? ? ??? ???.

Java ??????? ??? ??? ??? ?? ??? ??? ?????? Java ??????? ??? ??? ??? ?? ??? ??? ?????? Jun 01, 2024 pm 02:13 PM

Java ??????? ??? ??? ???? ??? ?? ???, ?? ??? ? ???? ????? ??? ????. ????? ???, ?? ????, ??? ???? ?? ??? ?? ?? ?? ????. ?? ??: ??? ??? ??? ?? ???? ? ?????. ??? ??? ???? ???? ??? ???? ??? ??????.

PHP ??? ??: ?? ????? ??? ???? ? ???? ?? PHP ??? ??: ?? ????? ??? ???? ? ???? ?? Jun 01, 2024 am 11:07 AM

PHP ??? ??? ????? ??? ???? ??? ?? ??? ???? ?????. ???? ?? ???? ?? ??(?: ??? ??? ??), ??? ??(?: ????? ??) ? ?? ??(?: ??? ??)? ?????. ??? ??? ???? ??? ????, ?? ???? ????, ???? ??? ? ?? ?????. ????? ????? ??? ??? ????? ?? ?? ?? ?? ????? ??? ? ????. ????? PHP ??? ??? ???? ?? ???? ?? ?? ??? ??????? ??? ? ??? ?????.

??? ??? ??? ?? ??? ?? ??? ??? ??? ?? ??? ?? May 09, 2024 pm 04:03 PM

TDD ? ??? ??? ?? ??? ?? ???? ??????. TDD? ??? ?? ??? ???? ?? ???? ????? ?? ??? ??????. ??? ??? ??? ?? ? ?? ???? ?? ??? ?? TDD? ???? ???? ?????? ??? ?? ??? ????? ?????. ?? ????, ?? ??? ? ?? ??? ??? ?? ?? ???? ?? ??? ??????.

See all articles