最初の例を使用してかなり複雑なアプリケーション アプリケーションを作成しました。ここでは、設計を正当化する方法を示します。私の場合、引受ケースの価格設定に関連する共通のインターフェースがありましたが、実際のデータを入力するさまざまな Web サービスを提供できる複数のベンダーがありました。これがパッケージ構造でした
com.example.pricing
\IPricingProvider.java
\AbstractPriceProvider.java
com.example.pricing.vendorA
\PricingEngine.java
com.example.pricing.vendorB
\PricingEngine.java
com.example.pricing.vendorC
\PricingEngine.java
次に、コードで を使用してimport
、必要なエンジンを配線しました。このような:
import com.example.pricing.*;
import com.example.pricing.vendorB.*;
IPricingProvider provider = Engine.create();
私にとっての利点は、ベンダーごとに複雑で乱雑な実装を行うことができ (2 つはレスト ベースで、1 つは Web サービスを使用しwsimport
ていたため、生成された Java ファイルが多数ありました)、Eclipse のオートコンプリートが完全な悪夢のように見えないようにすることができました。また、単一のベンダーを別の開発者に引き渡すことも容易になりました。