个人想法:
在一个工程中创建两个模块进行开发,通过系统部署来拆分服务。
这样做有两个好处:
第一,前后台模块分开(低耦合);
第二,公共部分以及前台与后台功能业务逻辑公共部分可以互相调用(高聚合);
部署时,只需要将相同的两个war包部署在两台服务器上,建立两个域名来访问即可实现服务的分离,比如前台通过www.yourdomain.com访问,后台通过manage.yourdomain.com访问即可,两台服务器上的war包相同,但是分别提供不同的服务,互不干涉;而开发时又可以将工程合并,便于管理
一个简单的例子,服务访问目录结构如下:
WebRoot
--equipment(前台服务根路径)
----设备采购
----设备申请
----设备基本信息
----用户基本信息
--manage(后台服务根路径)
----设备申请
----设备采购
----设备台帐
----设备基本信息
----设备维修
----设备报废
你担心的很有道理,为了低耦合和高聚
建议使用中间delegate层,之上可以是前端按前端需求和业务逻辑划分模块
之下是后端按基本数据结构和数据访问和功能点划分模块
delegate层组织前端对后端的调用,你担心的代码重复因为后端是面向代码和数据结构的就不用担心了,前端按业务逻辑就方便设计和架构了,业务逻辑交由delegate实现,具体细节交由后端完成
原来对前后台定义是这样的,hoho不是front end和backend
你说的论坛可以分为登录,session管理,帖子编辑,前后台功能差不多,逻辑差不多就一勺烩了吧
明白了:
现在管理员的权限:
1.设备采购,2.设备申请,3.设备台帐,4.设备基本信息,5.设备维修,6.设备报废,7.用户管理
普通用户的权限:
1.设备申请,2.设备基本信息,3.设备采购,4.用户基本信息管理
首先先看你的意思,在设备申请,基本信息,采果,用户信息管理方面管理员的权限书否和普通用户的权限一样,如果一致,就没有必要分2个大的模块重复代码了,如果有其他的不同,可以事先判断一下,对于他们之间区别另外实现,然后调用功能相同的公共码。
其实一般还是应该分为7个功能模块,然后根据其中2个权限的区别具体加以判别和具体实现。
你这里的前后台式业务方面的. 在电脑架构上. 前台就是web方面. 后台就是数据库方面.
因此,前台程序有: 业务前台+业务后台
后台程序有. 相关数据库访问