3

データベースに 70 を超えるテーブルを持つアプリケーションを作成していますが、次のフェーズで増やす予定です。

Asp.net MVC を使用しています:モデル、エンティティ フレームワーク、モデルの表示、リポジトリ、ビュー、コントローラー、アクション フィルター、参照、多言語など。

ソリューション内でこれらのパーツを配置するのに最適な場所は?

ソリューションを分割するさまざまな方法を見てきました。例えば:

  - Solution
        - Core.UI
            - Domain
            - UI
               - Models
            - Persistence
        - Core.Test
        - UI
            - Content
            - Controller
            - Views
            - Scripts

または別の人はそれを分割すると言います

  - Solution
        - Model
        - Entities
        - Web
        - References

または

...

DDD (ドメイン駆動設計) についてどう思いますか? そしてそれをどのように実装しますか?あなたはそれをお勧めしますか?


  • プロジェクトが大きくなると、その構造を変更するのが難しくなるため、プロジェクトに最大限の柔軟性最良の選択が必要です。
  • さまざまな形で情報を交換したい(Web と html、クライアント アプリケーション、モバイル、xml....)
  • プロジェクトの基本的な部分を個別に変更および構築したい (現在および将来)

詳細や例を教えていただければ幸いです。

どうもありがとう...

4

2 に答える 2

3

The key thing here is that you want to avoid coupling so that you can stay productive throughout the development of the app. In order to do that, you want to do a Service-Oriented Architecture.

Instead of n-tier apps which break down the problem into horizontal slices (layers) , Service-Oriented Architecture instead takes vertical slices of the application (services).

Start with this video by Udi Dahan if you want to learn the basic ideas of Service-Oriented Architecture. Hint: you're starting off on the wrong foot if you've already designed the database.

The two dudes whose stuff you want read here are Udi Dahan and Greg Young. I would also recommend the DDD Google Group to ask more detailed questions. DDD questions don't always fit StackOverflow as well as other computing questions because they're so nuanced and usually require a lot of back and forth to get to the bottom of the issue.

于 2012-08-02T13:28:58.773 に答える
1

この質問に直接答えるのは簡単ではありません。ビジネスニーズ、アプリケーションの規模などによって異なります。

Microsoft Spain からの参照実装があります。いくつかの欠点がありますが、それでも良い出発点です。十分な時間があれば、必要な概念/パターンと必要でないものを判断してください。

http://microsoftnlayerapp.codeplex.com/

于 2012-08-02T12:55:30.850 に答える