C# MVC中按照业务创建多模块web应用程序(DAL、BLL、UI按照业务模块拆分)
C# MVC中按照业务创建多模块web应用程序(DAL、BLL、UI按照业务模块拆分)
如果想要UI层根据业务进行模块划分,UI层发布的时候能达到UI层根据业务单独打包成dll文件,
可以在解决方案中将DataObj、DAL、BLL、UI均放在解决方案文件夹下:
1、DataObj根据业务按照模块建立对应的类库,发布的时候各个业务模块的DataObj.dll分开,以减低耦合度;
注意生成文件的位置置于UI层(含页面的UI类库)下的bin目录下;
2、DAL根据业务按照模块建立对应的类库,发布的时候各个业务模块的DAL.dll分开,以减低耦合度;
注意生成文件的位置置于UI层(含页面的UI类库)下的bin目录下
3、BLL根据业务按照模块建立对应的类库,发布的时候各个业务模块的BLL.dll分开,以减低耦合度;
注意生成文件的位置置于UI层(含页面的UI类库)下的bin目录下
4、UI根据业务按照模块建立对应的Web应用程序,发布的时候各个业务模块的UI.dll分开,以减低耦合度;
方法一:UI层根据业务生成多个WEB项目:
1)生成文件的位置置于UI层(含页面的UI类库)下的bin目录下,
2)解决方案的第一个UI类库默认为系统的UI层,页面、脚本、样式文件均放在该类库下;
3)根据业务新生成的UI类库(WEB项目)只存放controller、Models下的文件,页面还是存放在默认的UI类库下的Views文件夹下;
4)可以在解决方案默认的UI层页面中直接访问新增UI层的后台方法;
5)主要web中不需要进行任何修改和引用。
方法二:将UI层的controller、Models从WEB项目中抽离出来,根据业务模块拆分成多个:
注意:
1)WEB中只存放脚本、样式、页面静态文件;
2)controller、Models按照模块抽离到单独的类库中;
3)WEB项目中的引用需要添加被抽离的controller、Models对应的dll,这样controller方法可直接访问WEB中的页面,实现模块拆分效果,降低耦合度。
4)Views可以根据实际需求,使用AREA方式进行拆分。
参照网址:https://blog.csdn.net/shunhua19881987/article/details/93731775