Kanade Logoカナデ Kanade

4. オブザーバーパターン (Observer)

状態が変わる時に購読者たちに自動で知らせるオブザーバーパターンについて学びましょう。

オブザーバーパターン (Observer Pattern)

ユーチューバーが新しい動画を上げると、通知設定をしている購読者たちに一斉に通知が届きますよね?このように状態が変化した時に観察者(購読者)たちに自動で知らせるパターンがまさにオブザーバーパターンですね。

(参考:通知を受け取れる全てのオブジェクトが持つべき規約です)
【購読者】を規定しよう:
    〈通知を受け取る〉がなければならない(【文字列】の『メッセージ』)

【購読者】に従う【ファン】を設計しよう:
    『名前』を【文字列】で準備しよう
    
    最初に作られる時(【文字列】の『名前』)次のようにしよう:
        『私』の『名前』を『名前』にしよう
        
    〈通知を受け取る〉を作ろう(【文字列】の『メッセージ』):
        枠「{『私』の『名前』}さんが通知を受け取りました:{『メッセージ』}」を出力しよう

(参考:購読者たちを管理し、新しいお知らせができたら皆に知らせるクラスです)
【ユーチューバー】を設計しよう:
    『_購読者リスト』を【リスト】の【】に隠そう
    
    〈購読する〉を作ろう(【購読者】の『新しい購読者』):
        『私』の『_購読者リスト』の後ろに『新しい購読者』を追加しよう
        「新しい購読者が追加されました!」を出力しよう
        
    〈動画を上げる〉を作ろう(【文字列】の『動画タイトル』):
        枠「ユーチューバー:『{『動画タイトル』}』の動画をアップロードしました!」を出力しよう
        
        (参考:リストにいる全ての購読者に通知を回します)
        『私』の『_購読者リスト』の『購読者』ごとに繰り返そう:
            『購読者』の〈通知を受け取る〉(枠「『{『動画タイトル』}』が上がりましたよ!」)を実行しよう

(参考:購読者を二人作って、ユーチューバーを購読させてみましょうか?)
『クリエイター』を【ユーチューバー】の新しい【ユーチューバー】()にしよう

『チョルス』を【購読者】の新しい【ファン】(「チョルス」)にしよう
『ヨンヒ』を【購読者】の新しい【ファン】(「ヨンヒ」)にしよう

『クリエイター』の〈購読する〉(『チョルス』)を実行しよう
『クリエイター』の〈購読する〉(『ヨンヒ』)を実行しよう

(参考:動画を上げると購読者全員に自動で通知が届きます!)
『クリエイター』の〈動画を上げる〉(「カナデ言語の基礎講座」)を実行しよう

プレイグラウンド (Playground)

ターミナル
コードを書いて「実行」ボタンを押してください。