最近公司老大讲了分层思想,自己对分层思想的理解更加深刻。在此做个小小总结。
java分层思想 分为controller层 service层 dao层 controller层 负责数据拼装 并且 反馈到前台 进行交互 service层负责调用dao层 进行业务逻辑处理 dao层负责调用数据库。这三层大家都是这么理解的。可是为什么要使用MVC分层呢?从表面上来看无疑加大了代码量 降低了效率 试想直接调用数据库取得想要的数据 和做了三层处理的数据 效率性哪个更高。在比如说 银行系统 他们为什么不选择使用mvc分层思想来处理业务呢?而是直接调用存储过程来处理?
那么分层的好处是什么呢?其实从平时做那么多项目的时候,都能感觉出来。首先它让项目结构更加清晰,便于管理,让角色分配明了 ,拓展性强。这里要引入一个CAP的概念
Consistency(一致性):即数据一致性,简单的说,就是数据复制到了N台机器,如果有更新,要N机器的数据是一起更新的。
Availability(可用性):好的响应性能,此项意思主要就是速度。
Partition tolerance(分区容错性):这里是说好的分区方法,体现具体一点,简单地可理解为是节点的可扩展性。
有兴趣的人可以自己查看相关资料。 在分层思想中 对应了P原则 即可拓展性 比如我这边已经写好了的业务上 现在客户要求再加个新的功能 那么可以直接添加service接口 实现相应操作即可 方便简单。
再总结一下 java分层思想 虽然影响部分了响应速度 ,但是它带来的好处是很客观的 便于项目管理 可拓展性强 结构清晰 便于理解等等。