【发布时间】:2016-03-05 19:34:02
【问题描述】:
我对如何组织我的新项目感到两难。
目前,我有一个用 MVC C# 编码的杂志风格网站,其中每个页面都有自己的控制器和一组视图。在控制器后面,我们有一个用于访问数据库的服务层(作为一个单独的项目)。大部分业务逻辑在服务层,部分业务逻辑在控制器中
我们计划推出一个新网站,该网站将使用第一个网站数据库的副本,其功能与第一个网站 95% 相同,但视图/css 完全不同。
我们的截止日期非常紧迫,我们希望尽可能多地重用现有代码,并使两个网站都超级容易维护。
据我所知,我们有两种选择:
为第二个网站创建一个新项目,我们需要从头开始重写所有控制器
向现有网站添加一组新视图,并根据配置开关根据第一个或第二个站点的 url 显示不同的视图。
第一种方法更简洁,但它也会产生大量重复的代码,并且可能是维护的噩梦。
第二种方法将使用相同的控制器(对于 5% 的不同功能,可能会使用双倍的方法)。
有第三个这样做的吗?
谢谢
【问题讨论】:
标签: c# asp.net-mvc