问题一:分层架构中的四层定位是什么?
分层架构中的四层定位是什么?
参考回答:
分层架构中的四层定位分别是:
- API层(应用服务层):面向应用层面对外的服务表达,以灵活为主,可随业务、渠道定义独立API;
Biz层(业务层):面向业务场景的逻辑表达,负责业务编排,一个业务场景的主流程应在这层直观可视,同样以灵活为主;
Domain层(领域服务层):围绕模型操作的逻辑表达,是核心能力的所在地,要规范、厚重,并沉淀复用为主,同时也通过SPI兼顾业务个性化;
Dao层(存储层):面向存储对象操作的逻辑表达,可以随数据库差异、性能需求独立Dao方法,也是以灵活为主。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/620200
问题二:API层和Biz层是否会出现冗余?
API层和Biz层是否会出现冗余?
参考回答:
API层和Biz层并不会出现冗余。虽然大多数情况下,API层和Biz层是1:1的关系,且API层可能非常薄,主要做透传,但它们的语义是不同的。API层是站在应用的角度与外部应用交互约定的实现,是向外表达;而Biz层是应用承载业务里的某一类场景,是向内表达。因此,有可能会出现N:M的关系,所以API层有其独立的职责,并不冗余。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/620202
问题三:是否可以跨层调用Dao层?
是否可以跨层调用Dao层?
参考回答:
可以跨层调用Dao层。虽然在一些设计理念中,严格的层次结构被推崇,上层只应看到直接下层,但实践中发现,只要每层的职责定位清晰,跨层调用并不会导致架构混乱。反而,过于严格的层次限制可能导致无效的代码增加和领域层的代码混杂。因此,在保持各层职责清晰的前提下,可以选择放开跨层调用。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/620203
问题四:跨层调用Dao层会有什么影响?
跨层调用Dao层会有什么影响?
参考回答:
跨层调用Dao层,在保持架构层次职责清晰的前提下,可以减少不必要的中间层代码,提高代码效率。然而,如果层次职责不清晰,跨层调用可能会导致逻辑混乱,难以维护。因此,关键是在于对架构的清晰理解和维护,而不是简单地禁止跨层调用。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/620201
问题五:为什么说就算跨层调用,四层架构还是那四层?
为什么说就算跨层调用,四层架构还是那四层?
参考回答:
因为四层架构的核心在于每一层的职责定位。即使发生跨层调用,只要各层的职责依然清晰明确,那么这四层架构的本质就没有改变。跨层调用并不会影响架构的分层设计,关键在于如何正确地实施和维护这个架构。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/620204