web-dev-qa-db-ja.com

Onionアーキテクチャと3層アーキテクチャ

BLがDAL(またはDALのインターフェイス)でメソッドを呼び出してCRUDを実行する責任があった3層アーキテクチャーよりも、オニオンアーキテクチャーのメリットのみがわかります。タマネギは、懸念、テスト容易性、保守性の分離が良好で、よりクリーンです。

それで、タマネギのアーキテクチャは本当にすべての面で優れていますか?3層アーキテクチャは古い方法ですが、3層アーキテクチャを使用したい場合があります-どれですか?

11
BornToCode

レイヤー、オニオン、ポート、アダプター:すべて同じです

この記事では、タマネギは3層+ 依存関係逆転原理 (DIP)の適用と同等であることを明らかにしているので、質問は「どこでDIPを使用したいですか?」おもちゃ以外のプロジェクトだと思います。 DIPを使用すると、コードのコアをより分離し、テストし、保守することができます。本当に気にしないのは、使い捨てプロジェクトの場合や、パフォーマンスと保守性のトレードオフの場合です。

また、DIPをDI(依存性注入)コンテナーと混同しないでください。一方は他方を意味しません。

10
Kasey Speakman