BLがCRUDを実行するためにDAL(またはDALのインターフェース)のメソッドを呼び出す責任を負った3層アーキテクチャーよりも、オニオンアーキテクチャーにのみ利点があると思います。タマネギは、関心事、テスト容易性、保守容易性のより良い分離があり、よりきれいです。
だから、オニオンアーキテクチャはすべての面で本当に優れており、3層アーキテクチャは物事を行うための古い方法にすぎません。または、3層アーキテクチャを使用したい場合、いくつかのシナリオがあります。
BLがCRUDを実行するためにDAL(またはDALのインターフェース)のメソッドを呼び出す責任を負った3層アーキテクチャーよりも、オニオンアーキテクチャーにのみ利点があると思います。タマネギは、関心事、テスト容易性、保守容易性のより良い分離があり、よりきれいです。
だから、オニオンアーキテクチャはすべての面で本当に優れており、3層アーキテクチャは物事を行うための古い方法にすぎません。または、3層アーキテクチャを使用したい場合、いくつかのシナリオがあります。
回答:
この記事では、タマネギが3層+ 依存関係反転原理(DIP)の適用に相当することを明らかにしているため、「DIPをどこで使用したほうがよいのか」という質問になります。私はおもちゃ以外のプロジェクトを言うでしょう。DIPを使用すると、コードのコアをより分離し、テストしやすく、保守しやすくできます。あなたが本当にそれを気にしないときは、それが使い捨てプロジェクトであるとき、またはパフォーマンスのために保守性を犠牲にしているときです。
また、DIPとDI(Dependency Injection)コンテナを混同しないでください。一方は他方を意味しません。