小売業者向けのシステムを設計しているシナリオがあります。これは適切なライブ アプリケーションではなく、私の OO 設計スキルが正しいかどうか、および私の考えが正しいかどうかを確認するための単なるシナリオです。私はまだここで学んでいます。私はこれをc#でやっています。
シナリオは次のとおりです。
ステーショナリー製品を販売する小売業者は、さまざまな固定数のサプライヤーから最良の価格を選択し、そのサプライヤーに注文するシステムを設計したいと考えています。簡単にするために、文房具製品を同じ会社の 1 つの製品、XYZ ペンに絞りました。各供給業者は、尋ねられたときに XYZ ペンの見積もりを提供し、小売業者のシステムがさまざまな販売業者から最良の価格を選択して、その販売業者に注文します。
アプローチ 1:
- サプライヤーの抽象クラスと各サプライヤーの実装を作成します。
- PlaceOrder() メソッドとコスト プロパティを持つ各サプライヤ実装。
- DataLayer は、サプライヤーの実装ごとにコスト プロパティを設定します。
- 各実装を評価して最適な価格を決定し、適切な実装に発注する CheckBestRetailer クラスを作成します。
アプローチ 2:
- Cost プロパティと PlaceOrder() メソッドを使用してタイプのサプライヤのリストを作成します。
- 各サプライヤに対して、データ レイヤーは新しいサプライヤ タイプをリストに追加し、データベースから取得したコストの詳細を設定します。
- CheckBestRetailer クラスはそのリストをループし、各オブジェクトを評価して最適な価格を見つけ、適切な実装に注文を出します。
上記の2つのうち、アプローチ1はOOPに近いと思いますが、一定数のサプライヤーがいる場合. データベースから取得したデータに応じてサプライヤーの数が変わる可能性がある場合は、アプローチ 2 の方が優れています。
どう思いますか?
OOAD をテストするための最適なシナリオがここにない可能性があります。私も一緒に作業できるいくつかのサンプル シナリオがあればいいのにと思います... 可能であれば、デザインのヒントがあれば。
御時間ありがとうございます。