对于小型的网站,把所有的界面、功能都建到一个项目中也就可以了。但是当项目比较大、参与人数比较多的话,如果还是大家基于一个项目开发的话就是一个灾难了。
今天我搭建了一个ASP.net MVC的多项目框架,这样不同模块的开发人员建自己的插件项目就可以,无关模块的代码根本不会碰到,减少了模块之间的耦合和互相依赖,“合并”、“冲突”之类的问题都没有了。
主项目和插件项目之间以及插件项目之间的交互都是基于AutoFac这个IOC容器来实现,依赖性也非常低,不用强引用。
引入AutoFac还可以实现扩展点的效果,比如把菜单区域定义成扩展点,各个子模块就可以“贡献”菜单项,不用把子菜单配置死到主项目中了;再比如可以把登陆后的操作定义为扩展点,这样不同的子插件可以根据自己的需求来定义插件实现登陆后的操作。
有时间会通过公开课的形式跟大家分享一下。大家可以加我的微信:yzk369