2012-01-11 5 views
0

私は、さまざまなドメインでの使用方法があるアプリケーションで作業しています。(いくらか)ドメイン不特定アプリケーションの開発

ほとんどのドメインでは、ユーザーがシステムで何をするかは同じですが、いくつかのものは少し異なります。ドメインによっては余分な画面や機能やビジネスルールが必要なものもありますが、全体的にはかなり類似しています。

現在のところ、各ドメインには独自のアプリケーションがあり、それ以前のドメインからコピー/貼り付けされています。あなたが想像しているように、これは理想的ではなく、重複/再作業/頭痛の原因となります。

このような問題を起こさずに、かなりの類似点(1点まで)を共有するアプリケーションやアプリケーションスイートを開発する際の指針があるのでしょうか?

私はこれらすべてのドメインに適合する汎用ドメインの作成を検討しました。以前はこのアプローチを使用していたアプリケーションに取り組んできましたが、状況が複雑になり、特定の機能を有効/無効にするために必要なスイッチがたくさんあることがわかりました。基本的に、ドメインは非常に一般的なので、実際には誰にも意味を持たず、特定のドメインをカスタマイズするのは非常に困難でした。

それはC#で書かれたasp.net MVCアプリケーションになります任意の違いはと.NET場合は4

答えて

0

私の提案は、各ドメイン/ユーザグループの正確に一つのフロントエンドアプリケーションを作成し、共有バックエンドの階層を維持することですリソースが共有されることが適切であれば、どこでも可能です。あなたは座って、フロントエンドドメインが共有され、それを共有層(つまり、Webサービス、データベース、メッセージキューなど)で実装するのが妥当であると考える必要があります。

また、フロントエンドの設計では、再利用可能なコンポーネント(共有ライブラリ)を作成する必要がありますが、この提案は遡及形式でキャストするとほとんど役に立ちません。フロントエンドアプリケーションが既に存在する場合は、あなたが述べたように、大きなリファクタリングの努力なしには難しいでしょう。

多くのケースをカバーするためにスイッチを配置している場合は、ドメインオブジェクトを修正して、それ以上のものを作ろうとしていることを意味します。また、スイッチングロジックを隠すフロントエンド固有のレイヤーを追加する(または完全に避ける)ように、レイヤーを追加する必要があります。

関連する問題