我正在尝试采用分层建筑风格。我想像它在这张图片上绘制的分层架构
我有一个基于PHP Laravel的应用程序。该应用程序包括:
框架
一个作曲家包 - 一组独立的接口,其他一切依赖于它(依赖倒置)
作曲家包 - 组件管理器。取决于接口包。管理组件 - 由这些组件组成的页面部分(参见下一点)。
作曲家包 - 页面管理器。取决于接口和组件包。从数据库中提取JSON并使用组件包基于它构建HTML页面。这些页面由第2点中包装生成的组件组成。
我的问题是:
我可以将这组接口称为服务层吗?它用于各种场合:前端JS应用程序使用的控制器(实现接口的服务的转发请求),移动应用程序消耗的API(转发请求)等等 - 都取决于接口。或者服务层是不是很薄?我的意思是它必须拥有它自己的实现吗?类似的东西:服务层接口,依赖服务层实现,它将请求转发到业务层。
第2点和第3点中描述的组件似乎更多是表示层组件。但是他们实现了第1点中描述的集合中的接口。可以吗?我的困惑是服务层低于表示层,它将请求转发到表示层(或者如果它有自己的实现,它可以转发)。这里真的很困惑。
目前缺少业务层。是真的还是两个包(组件和页面服务)是相当的业务组件?他们实现了构建页面的一些逻辑。
数据层由框架的组件表示。
你可以帮我澄清一下这些事吗?感到非常困惑。