Observer Pattern

ref: https://www.dotblogs.com.tw/joysdw12/2013/03/13/96531

Observer pattern is using in event notification.

For example, some peoples register paper from daily supplier. Then, the daily supplier must to send paper to people.

In code view, the Daily supplier must have these functions likes register(), removeRegister(), sendPaper(), the code like

public interface IDailySupplier
{
    void register(IObserver pObserver);
    void removeRegister(IObserver pObserver);
    void sendPaper(string paper);
}

the people must implement one interface, the code like

public interface IPeopleObserver
{
    void receive(string paper);
}

Then the DailySuppiler implement IDailySupplier interface

public class DailySuppiler : IDailySupplier
{
    List <IPeopleObserver> lstObservers; // 

    public NewspaperOffice()
    {
        lstObservers = new List(IPeopleObserver);
    }

    public void RegisterObserver(IPeopleObserver pObserver)
    {
        lstObservers.Add(pObserver);
    }

    public void RemoveObserver(IPeopleObserver pObserver)
    {
        if (lstObservers.IndexOf(pObserver) >= 0)
            lstObservers.Remove(pObserver);
    }


    public void SendNewspaper(string paper)
    {
        foreach (IPeopleObserver observer in lstObservers)
        {
            observer.receive(paper);
        }
    }
}
``````

results matching ""

    No results matching ""