タマネギアーキテクチャを使用するときに共有部品を配置する場所はどこですか?
-
12-12-2019 - |
質問
私はJ. Palermoによってオニオン建築を適用しようとしていますが、私が苦労していることがいくつかあります。
私はいくつかの部分を持っています、そして私はこれらをどこに置くべきか正確に知りません。
- 私はディレクトリを読み取り、e enのロードするものを決定するプラグインエンジンを持っています
- いくつかのプロジェクトで使用される翻訳付きのリソースファイルをいくつか持っています。私はこれらのファイルをどこに置くべきですか?
- 私はシステム全体で使用されるいくつかの属性を持っています。これらを置く場所は?
- 私は2つの '基本的な'コントローラ、いくつかのデフォルト結果とビューを持っています。私はどこに置くべきですか?
これらの項目はすべていくつかのプロジェクトで使用されているので、中心点にアイテムを入れたいです。
私の現在の解決策はこのように見く:
- project.core(ドメインオブジェクトとリポジトリのインターフェイスを含みます)
- Project.Infrastructure(コアの実装です)
MVC2を使用しています。
解決
玉ねぎの建築はそれ自体で解決するものだとは思わない。 私がすることは、これらすべてのアイテムを1つまたは複数のプロジェクトに入れて、別のソリューション内で、Nugetパッケージを構築することです。 このようにして、私はあなたのMVCプロジェクトのあなたの基本コントローラやインフラストラクチャプロジェクトのプラグイン/翻訳のもののような展開を展開しました。
そのように、新しく作成されたプロジェクトでそれらの要素を利用できるようにする必要があるときは、パッケージを再度展開するだけで済みます。
これらの項目は独立しているようになり、中心点(新しいSLN)に保存され、それ自身のリリースサイクルがあります。
所属していません StackOverflow