Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

書籍 Refactoring to Patterns | Generalization | Replace Hard-Cord Notification with Observer

パンくず

書籍 Patterns to Patterns
Generalization
Replace Hard-Cord Notification with Observer

概要

Replace Hard-Cord Notification with Observerのリファクタリングについて

使用する場面

1つのReceiverしか受け取らないNotifierがあり、ハードコードされている。

対応方法

Observerのインターフェースを用意し、多数のObserverに対応出来るようにする。

利点と欠点

利点

・Observerと対象が疎結合
・多くのObserverを許容する

欠点

・ハードコードの通知で問題ない場合の設計が複雑になる
・カスケードで通知している場合、設計が複雑になる
メモリリークの要因となる

サンプル

サンプルはGoFデザインパターンObserverパターン