---------------------
| AbstractPersister |
---------------------
^
/ \
---
|
------------------
| OrderPersister |
------------------
^
/ \
---
|
--------- ---------
| Offer |<>---| Item |
--------- ---------
上記はUMLクラス図のアスキーアートです。アイテムを含む「offer」というドメインクラスがあります。たとえば、500ドルの費用がかかり、バスの切符が含まれている旅行のオファー、モーテルでの宿泊、ショーなどです。
顧客がストアをチェックアウトすると、オファーは注文アイテムを含む注文としてデータベースに保持されます。
オファーを継承することは、純粋なオブジェクト指向設計で意味がありOrderPersister
ますか?はOrderPersister
、そのスーパークラスであるを使用してデータベースへの接続を取得できますAbstractPersister
。OrderPersister
と呼ばれるメソッドを追加しBook
ます。これにより、データベースに注文とそのアイテムが作成されます。
これが悪い設計である場合、どのような選択肢がありますか?できるだけオブジェクト指向にしてほしいです。