一般系统可划分为三个层次:表现层,领域层,数据源层。通常还可以将领域层提取出服务层来。
根据不同的应用场景,不同的架构设计将会有不同的层间交互形式。
常见的有如下几种:
模式一
UI->Domain->Data Source
此模式是很典型的一种交互方式,简单纯粹,上层依赖于下层,没有跨层调用。
模式二
UI->Domain->Data Source
UI->Data Source
此模式是不太纯粹的交互方式,允许跨层调用,但在实践中运行良好。
模式三
UI->Domain<-Data Source
此模式是典型的采用依赖倒置原则的交互方式,Domain将不再依赖于Data Source,实现方式通常是在Domain定义Data Source接口。
模式四
UI->Service->Domain->Data Source
此模式是引入服务层之后的典型交互方式,类似于模式一。
模式五
UI->Service->Domain->Data Source
Service->Data Source
此模式类似于模式二。
模式六
UI->Service->Domain<-Data Source
此模式类似于模式三。
模式七
UI->Service->Domain<-Data Source
Service->Data Source
此种模式是模式二和三引入服务层后演化来的。
还有很多其他的模式和变种,在此仅列出比较常见的一些。
以上各种模式没有好坏,高低之分。只有适不适用的问题。
每种模式都有它的运用场景,要根据具体情况具体分析。
简单的写了一点,望不吝批评指正。