Download presentation
Presentation is loading. Please wait.
1
第9章 オブジェクトの構築 日下部研究室 修士2年 秋本 浩平
2
オブジェクトの相互関係 継承 コンポジション 関連 集約
3
継承とコンポジション 継承 is-a関係 特性を引き継ぐ コンポジション has-a関係 複数の特性をまとめる
4
コンポジション システムをサブシステムに分割 コンポジションと安定したシステムの関係 独立したサブシステムによる集約
サブシステムは関連によって結ばれる サブシステムも集約されたシステムである コンポジションと安定したシステムの関係
5
安定したシステム 階層構造を成す サブシステムは独立している サブシステムの大きさは適切である 安定したシステムは単純なものから進化する
単純なサブシステムでシステムを構成 サブシステムは独立している サブシステム間とサブシステム内部の対話が明らかである サブシステムの大きさは適切である 大きすぎても小さすぎてもいけない 安定したシステムは単純なものから進化する 既存のものを利用
6
よく分割されたシステム AVシステム 独立したサブシステムを組み合わせて AVシステムを構成 D社製品 CDプレイヤー D社製品 ヘッドホン
D社製品 DVDプレイヤー D社製品 アンプ D社製品 5.1chスピーカー M社製品 PDP 独立したサブシステムを組み合わせて AVシステムを構成
7
よく分割されたシステム AVシステム サブシステム単位で交換可能 D社製品 CDプレイヤー D社製品 ヘッドホン D社製品 DVDプレイヤー
B社製品 5.1chスピーカー M社製品 PDP サブシステム単位で交換可能
8
よく分割されたシステム AVシステム 規格に従っていれば 同じ会社(開発者)である必要はない O社製品 CDプレイヤー A社製品 ヘッドホン
M社製品 HDD&DVDレコーダー P社製品 アンプ B社製品 5.1chスピーカー S社製品 HDプロジェクタ 規格に従っていれば 同じ会社(開発者)である必要はない
9
AVシステムのクラス図 AVシステムは多数の独立した オブジェクトで構成されている ⇒集約 ケーブルで接続し作業を分担する ⇒関連
10
依存関係 コンポジションによるシステムの分割 オブジェクトが互いに強く依存しないことが望ましい
領域の異なるオブジェクトは混ぜないほうが安定する 領域を重ねると便利なことがある
11
領域の重複 ー安定性を重視ー + 予約録画するとき、チューナとレコーダ 両方の設定が必要 片方が壊れてももう片方はつかえる 高い
HDD&DVDレコーダ CSチューナ 予約録画するとき、チューナとレコーダ 両方の設定が必要 片方が壊れてももう片方はつかえる 高い スペースが必要
12
領域の重複 ー利便性を重視ー 予約録画が簡単 片方の機能が壊れても簡単に交換できない 部品の共通化が出来るので安い 省スペース
CSチューナ内蔵 HDD&DVDレコーダ 予約録画が簡単 片方の機能が壊れても簡単に交換できない 部品の共通化が出来るので安い 省スペース
13
多重度 関連に参加するオブジェクトの数を指定 任意か必須か 数の制限はあるか 関連 多重度 任意/必須 従業員/部門 1 必須
従業員/職務明細 1...* 従業員/配偶者 0...1 任意 従業員/子供 0...*
14
多重度の例 関連 多重度 任意/必須 従業員/部門 1 必須 従業員/職務明細 1...* 従業員/配偶者 0...1 任意 従業員/子供
0...*
15
実装での表現(1) 数の表現(1:nの関連) 配列による実装 理論上では無限でも設計では十分大きな有限数とすることもある
public class Employee extends Person{ : private Spouse spouse; private Child[] child; private Division division; private JobDescription[] jobDescription; }
16
実装での表現(2) 任意の関連 関連が0(null)であるかを確認するように 実装する必要がある
17
クラスの例
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.