問題タブ [onion-architecture]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
120 参照

c# - IoC化、内部オブジェクトの扱い方

ここで多くのスレッドに目を通しましたが (おそらく間違った用語を使用している可能性があります)、NInject を介して IoC を使用するように Web アプリケーションを変換しています。私の他のIoCプロジェクトはかなり小さいので大きな問題ではありませんでしたが、次の状況で推奨される方法は何ですか...

私のオブジェクトの構造は次のようになります...

都市はそれ自身のオブジェクトです...

今、私は避けられない「オブジェクトがnullです」という例外を次のように処理しています...

小規模なプロジェクトではこれで問題ありませんでしたが、大きなプロジェクトになると非常に面倒です。(私のオブジェクトに別のオブジェクトを追加します。すべてを見つけたと仮定すると、100 か所以上でこれを行う必要があることを意味する可能性があります)

IoCの前は、これは次のようなことを行うことで簡単に処理されました...

私が理解しようとしているのは (おそらく、私が読んだガイドでこの詳細を完全に見逃しているだけです)、IoC で同等のことをエレガントな方法で行うにはどうすればよいでしょうか?

私がフォローしている構造は、Tony Sneed がhttp://www.develop.com/onionarchitectureで提示したものに基づいています。

唯一の注目すべき違いは、サービス レベルでまだ何も持っていないことです。これは、私たちのもののほとんどが、データベースからの読み取り/データベースへの書き込みに過ぎず、間に顕著な操作がほとんどないためです。(サービスレベルに入れる必要があるものがあるでしょうが、まだ何もヒットしていません。そのレベルとリポジトリに属する​​ものが正確にはまだ完全には明らかではありません。)

参考になる詳細があれば教えてください (IoC は正常に動作しています。保守性を適切に保つために、上記の問題に取り組む必要があるだけです)。

0 投票する
1 に答える
190 参照

asp.net-mvc-4 - n 層アプリケーションでのリポジトリ パターンの使用についてアドバイスが必要

ASP.NET MVC を使用して開発された Web アプリケーションがあります。

アプリケーションはn 層アーキテクチャに従い、モデル、コア、フレームワーク、および Web アプリケーションの 4 つの異なるプロジェクトにアプリケーションを分割しました。

モデル、コア、およびフレームワークは DLL であり、モデルには POCO クラスのみが含まれ、コアには DbContext、リポジトリ、および Unit of Work 実装が含まれ、フレームワーク プロジェクトには、アクション リンクなどの MVC Web アプリケーションによって直接使用されるクラスが含まれます。拡張機能、カスタム ビュー エンジンなど

私のフレームワークに加えて、サービスと呼ばれるクラスを作成しました。このクラスは、コア DLL のリポジトリへのメソッド呼び出しを行い、サービス クラスのメソッドは Web アプリケーションによって呼び出されます。

私の質問は次のとおりです。フレームワーク DLL のサービス クラスを介して Web アプリケーションからリポジトリにメソッド呼び出しをチャネルするのが理想的ですか、それともコア DLL を直接呼び出すだけですか?

0 投票する
1 に答える
285 参照

asp.net-mvc - Onion Architecture DI レイヤーと MSDeploy

私は修正が必要ないくつかのろくでなしのオニオン アーキテクチャを作成しました。具体的には、依存関係の解決は UI レイヤー (MVC) で参照されます。どこでも推奨されているように、それらを独自の WebActivator アセンブリに引き出す必要がありますが、大きな壁にぶつかっていて、それを回避する方法についての説明が見つかりません。

私たちのビルド プロセスは、すべての意図と目的のために、xcopy を介してサーバーにデプロイする Web パッケージを実際にビルドします。これにより、web.config 変換が実行され、プロジェクト ファイルなどのみが含まれるため、何が起こっているのかを確認できます。

しかし、MVC サイトに DI プロジェクトへの参照がない場合、このプロセス中にそれをコピーするにはどうすればよいでしょうか? 理想的には、プロジェクトのビルド後にこの DLL をコピーするだけで PSake ビルド スクリプトにセクションを追加する必要がないようにしたいのですが、ここで最善の策が何であるかはわかりません。