アブストラクトファクトリーパターンについて
アブストラクトファクトリーパターンについて、
勉強したことをまとめました。
アブストラクトファクトリーパターンとは
アブストラクトファクトリーパターンとは、オブジェクト生成にかかわるデザインパターンのうちの1つです。
そして、アブストラクトファクトリーバターンを取り入れることで、互いに関連したオブジェクトの抽象化が可能になります。
アブストラクトファクトリーパターンの具体的な適用例
①システム全体で使用するマスターデータの取得
例えば業務システムでは、複数の画面で同じマスターテーブルを読み込む必要があります。
具体的には、従業員情報を管理するシステムでは、従業員マスターや所属マスターなどのテーブルをほとんどの画面で読み込む必要があると思います。
また、販売管理システムでは、商品マスターや顧客マスターへのアクセスが常に必要となると思います。
そして、複数の画面で同じマスターテーブルからデータを取得する場合でも、取得データの条件や、必要となるデータは異なる場合が多いと思います。
そのため、アブストラクトファクトリーパターンを使用して、マスターデータの取得処理をシステムから分離することでマスターデータの取得及び、生成処理を部品としてカプセル化することができます。
そして、マスターデータの取得について、画面側で意識する必要がなくなります。
②日付の処理や端数処理などの共通部品
日付の表示形式や、端数処理などのシステム全体で使用する機能について、画面ごとに使い方が異なる場合に共通部品のI/Fのみを提供し、実装を隠蔽することができます。
そして、実装を隠蔽することで、共通部品を使う側は、必要な日付の形式や端数処理を実行するために、共通部品のI/Fを変更することで対応できるようになります。
③親子関係があり、なおかつ親子で1つの物として扱いたい物
例えば、商品伝票と伝票明細のように、オブジェクト間に親子関係があり、なおかつ2つで1つとして扱う必要がある場合に、アブストラクトファクトリーパターンが使用できます。
なぜなら、商品伝票と、伝票明細のような親子関係がある場合は、親子関係のあるオブジェクトを組み合わせて使用することとなるためです。
そして、アブストラクトファクトリーパターンでは、オブジェクトの組み合わせをシステムから分離し、カプセル化を行うことができるため、アブストラクトファクトリーパターンとの相性が良いと考えられます。
↓↓参考にした書籍↓↓
- 作者: エリックガンマ,ラルフジョンソン,リチャードヘルム,ジョンブリシディース,Erich Gamma,Ralph Johnson,Richard Helm,John Vlissides,本位田真一,吉田和樹
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 1999/10
- メディア: 単行本
- 購入: 21人 クリック: 711回
- この商品を含むブログ (212件) を見る
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/06/19
- メディア: 大型本
- 購入: 51人 クリック: 762回
- この商品を含むブログ (397件) を見る
iOSアプリ開発デザインパターン入門 (技術書典シリーズ(NextPublishing))
- 作者: 千葉大志
- 出版社/メーカー: インプレスR&D
- 発売日: 2018/06/15
- メディア: Kindle版
- この商品を含むブログを見る
- 作者: 三菱UFJインフォメーションテクノロジー株式会社斉藤賢哉
- 出版社/メーカー: 技術評論社
- 発売日: 2017/10/12
- メディア: 大型本
- この商品を含むブログを見る
Clean Architecture 達人に学ぶソフトウェアの構造と設計
- 作者: Robert C.Martin,角征典,高木正弘
- 出版社/メーカー: KADOKAWA
- 発売日: 2018/07/27
- メディア: 単行本
- この商品を含むブログを見る