午前19時50分31秒
「UMLモデルやアプリケーションの」P322
システムは、原価計算、認可サービス、在庫システムなどのサードパーティの外部サービスの様々なサポートする必要がある別のAPIを持っており、変更することはできません。
解決策1:
サービスを提供するようになってシングルトンファクトリオブジェクトを使用します
1)アダプター
間接オブジェクトの追加の層は、異なる外部インタフェース一貫したインタフェースによってこれらのオブジェクトは、アプリケーション内で調整されます。
(外部サービス用アダプター、専門的なリソースアダプタresoureアダプタ
選択した外部サービスのために、あなたが処理するために、特定のアダプタインスタンスを使用します。
SAP会計システム例えば、ときpostSale外部インターフェイスに要求を発行する場合、
それはHTTPS上のSOAP XMLを経由してLAN上で利用できるWebサービスのSAPにアクセスするためのインタフェースできるように、まず第一に、アダプタによって変換。
異なるインタフェースによって外交サービス、それがこれらのアダプタの作成者である、そしてどのように作成するために、アダプタのタイプを決定するために、
オブジェクトは、これらのアダプタを作成するためのフィールドである場合には、単なるアプリケーションロジックよりもオブジェクトフィールドのデューティ以上(例えば、総売上高の計算など)、および外部のソフトウェアを必要とするだろう
メンバーは、他の関連コンテンツへのリンク。
建築デザインの基本原則:結束を確保するために、関心の関心事の分離の分離、異なる領域に異なる懸念やモジュール化を分離し、。GRASP高い凝集原則の適用。
ソフトウェアオブジェクトのドメイン層は、外部システムとの接続を担当するオブジェクトのセットに集中するだけでなく、ロジック機能の比較的簡単なアプリケーションを強調しています。
2)工場
シンプル工場(シンプル工場)やコンクリート工場(コンクリート工場)、パターンを設計するために属しているが、用途の広い範囲が、また、GoFの抽象工場を簡素化することはありません。
純粋なフィクション「工場」オブジェクトの定義は、オブジェクトを作成します。次のような利点
複雑な機能の1分離は、オブジェクトを作成し、ヘルパーが凝集オブジェクトに割り当てます
2.隠された可能性が複雑なロジックを作成します
3.メモリ管理スキームは、オブジェクト・キャッシュまたは再生ように、改善された性能の導入を可能にします。
反射やデータドライバを使用する方法は、正しいクラスを見つけることができる:外部からの署名ファイルの外部の特徴を読み取ります