快乐乔巴 2019-02-09 16:14 采纳率: 100%
浏览 697
已采纳

ASP.NET MVC扩展,模块化

现在有个需求,想请教下大家。(论坛上也提过,但还是想多搜集下更多的建议)
比如现在有个ASP.NET MVC的项目叫BASE,顾名思义就是一个基准网站。
现在有2个客户X和Y,希望给他们做自定义化(在这个BASE项目基础上修改或者追加功能)
比如X客户需要在BASE项目上添加X1功能。
Y客户需要在BASE项目上添加Y1功能,并且部分更改BASE项目上原有B1功能达到Y客户的需求。
我不希望去拷贝2个BASE项目,然后去分别针对2个客户再去改的。
而是希望以BASE项目为基准,通过分离,模块化(插件),在BASE项目启动的时候去加载这些新的需求达到追加和覆盖(包含静态文件css,js等)。(这是我的想法)

想请教下大家,在ASP.NET MVC(我是VS2015环境,MVC5)上,一般是如何去实现这样的需求的?
后台 以及 前台(css,jss)的分离方式该如何处理?

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-02-09 16:48
    关注

    看你要多大程度去自定义了。
    框架层面提供的支持包括:
    dependency injection (依赖注入,可以抽象公共接口,自定义的派生接口实现自己的功能,框架动态加载)
    asp.net mvc bundle配合less css (实现编程方式加载css)
    Partial View (根据需要,为不同的用户加载自定义的子视图)
    areas (将应用分区,每个应用可以自由组合功能)
    angular/vue去编写SPA,以及客户端化,服务器只提供基本服务、存储和通讯,为不同客户编写自己的SPA
    AutoFac 插件化框架
    Razor的模块化(看这个 https://www.cnblogs.com/iwangjun/archive/2012/06/03/2532962.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?