关于系统架构中的分层

     分层,由业务来决定,小的系统一般分为三层(ui,业务,数据访问),既可。ui层是负责和用户交互,也就是所有和用户交互的,都应该放在这一层,业务层是业务实现的,也就是实现用户想要做的事情,数据访问层,就是去存储数据地方(可能是数据库,也可能是xml,也可能是一个队列),提取数据,删除数据,修改数据。从面向对象的角度来说,应该在有一个实体层,这里面有一堆的封装了数据的对象,业务层要用的数据,应该来自这里,而不应该是来自数据库,数据库仅仅是这些对象的映射,负责对映射过来的数据进行管理。那么这些对象的数据怎么来呢,很简单,数据访问层,来做就可以了,也就是数据访问层,在传统的功能基础上,还多了一项功能,创建含有数据的实体对象。这样从ui到业务,就全是对象了,所谓的数据访问层,其实只是一个辅助层而已。

    当系统很大或者需要应对多种情况的时候,传统业务层(也就是只有一堆类的层)是不行了,于是为了应用设计模式,依赖注入,解偶这些解决大的系统或需要经常变化的问题的理论,我们要增加业务接口,业务工厂。

    为了让我们系统效率更高,我们引入缓存层,把一些公用的,不怎么变化的,大型数据缓存起来。

   有时候我们的系统业务层,也需要给别的地方用,怎么弄呢,webservice,是个好办法,于是有了service层,其实这也是soa的雏形。

    为了灵活的控制权限,异常,日志,可能还需要加上aop的拦截器这一层。

原文地址:https://www.cnblogs.com/chenleinet/p/1654698.html