分层架构所带来的好处是:每一层只关注一类事情,从而大提高的代码的质量;但也会带来层次过多带来的效率的问题。(有点像政府的审批流程,职责清晰,专业化程度非常高,不易出错,但过于死板和教条,但大规模化开发,需要这样的方式)。
我们开发所面对的三个主要层次的职责分工如下:
1、表现层:负责收集浏览器中的用户的动作(表单数据、超链数据、AJAX的异步提交数据等),调用业务层,将这些数据向业务层进行传递;将业务层所产生的数据进行展现,“渲染”成为用户可以看得懂的HTML,PDF,Excel,Chart,图像等形式。
2、业务层:负责接收表现层的数据,对数据进行业务规则的处理(其间可能调用持久层以获取数据),需要持久化保存的数据则调用持久化层的方法进行保存,表现层如需要数据则向上返回数据。
3、持久化层:负责将数据保存在“系统关闭后,数据仍存留的设备”上,包括数据库、文件、云存储,甚至是电邮系统都可以,但常用的是关系型数据库产品。同时,在业务层需要数据时,可以将数据查询出来,传递给业务层。
4、各层之间将主要以pojo对象做为载体传递数据。