三层架构是一个非常经典的架构模式,根据系统的职责不同,将系统分成了展现层(主要用来UI展示以及触发事件源)、业务层(主要用来实现UI事件源触发的逻辑)、数据访问层(主要用来进行数据访问),并配合数模型据进行数据传递。三层架构对于大型团队大型项目的并行开发远远不能成为支撑点。故又将三层架构进行细化,分为五层架构。毕竟分层是划分子系统的必要策略之一。下图是五层架构模型:
事无巨细,无论怎么分层,各个层之间数据解耦始终是首要问题。解耦的目的就是为了降低各个模块的依赖,提高代码的可重复利用。下面本文就结合三层架构模式来重点介绍各个层之间的解耦。就用简单的注册流程说明下吧。
这里通过RegisterFragment,调用了RegisterService和RegisterNotifyService两个类,通过类图可以看得出,展现层对业务层(本文XxxxService