我看到洋葱架构仅比BL负责在DAL(或DAL的接口)上调用方法进行CRUD的3层架构有所益处。洋葱具有更好的关注点分离,可测试性,可维护性,并且更清洁。
那么,洋葱架构在各个方面是否确实更好,并且3层架构只是做事的一种旧方法,或者在某些情况下,我更喜欢使用3层架构,如果这样-哪个?
我看到洋葱架构仅比BL负责在DAL(或DAL的接口)上调用方法进行CRUD的3层架构有所益处。洋葱具有更好的关注点分离,可测试性,可维护性,并且更清洁。
那么,洋葱架构在各个方面是否确实更好,并且3层架构只是做事的一种旧方法,或者在某些情况下,我更喜欢使用3层架构,如果这样-哪个?
Answers:
由于本文清楚地说明了洋葱等同于3层+ 依赖反转原理(DIP)的应用,因此问题就变成了“我应该在哪里使用DIP?” 我会说任何非玩具项目。使用DIP可以使代码的核心更加孤立,可测试和可维护。当您真的不在乎那是当它是一个废弃项目时,或者当您为了性能而牺牲可维护性时。
另外,请勿将DIP与DI(依赖项注入)容器混淆。一个并不暗示另一个。