举个例子:
遇到这样一种情况:
一个web网站,有用户的模块,也有管理员的模块
实现的时候呢,用户是一个单独的系统(.net中的一个解决方案),管理员也是一个单独的系统
公用一个数据库
我想问问这样做会有什么好处呢?
如果 做成一个系统可能会多一些权限上的检查(管理员是不能访问 用户系统功能,反之成立)
那么还是想问问做成一个 有什么好处呢?
根据经验,拆分系统其实很有必要。后台和前台的主要业务逻辑是不同的,应对的外部变化也是不同的。如果写成一套系统,无疑会增加业务逻辑的复杂度,而且,反复变化以后,很可能前后台相互产生(坏)影响。拆分系统确实会有重复,而且可能某个需求会引起多处修改,但是拆分后子系统耦合性降低,子系统自治,独立应对各种变化,如果能把各自数据表独立出来,那解耦就做的更到位了。
这么说也很有道理。
不过【如果能把各自数据表独立出来,那解耦就做的更到位了】这个怎么理解呢?
举个例子:订单
客户提交订单
管理员对订单进行审核
这个订单的数据库表就 拆不开了吧?
@算了: 订单数据是前后台共享的,审核也是订单完整逻辑的一部分,需要前后台配合完成,就不需要拆分订单表了。我指的是前后台业务完全独立的数据表才要拆分出来,订单比较特殊了,如果订单状态是终态,后台的一些订单报表完全可以做读写分离。
@JeffWong:
嗯嗯,了解,哈哈,看来拆分的好处还是蛮多的 哈哈
没必要
如果是业务上的考虑 应该切割成2个
这样切割成2个 估计是觉得用程序处理 不靠谱
总之就是 没必要分割成两个是吧 ?
其实我也有这样的想法
一般来说,还是看你项目的大小。不是太大,业务基本变化不大,拆不拆意义不大,如果是大中型项目,那么独立维护是比较必要的,这样也可做到独立发布,灵活应对变化。
ok , 独立发布,灵活应对变化。
总结的很好 3Q