Visual studio 2010 什么是一个好的解决方案结构,可以方便地根据每个客户定制产品?
我正在寻找一些关于如何允许每个客户轻松定制和扩展核心产品的建议。我知道这可能是个太大的问题。然而,我们真的需要一些想法,如果我们得到了这个错误的设置,它可能会导致我们多年的问题。我没有很多定制和扩展现有产品的经验 我们有一个核心产品,我们通常根据每个客户定制。我们最近用一个MVC3前端在C#4中重写了该产品。我们已经进行了重构,现在有3个项目组成了解决方案:Visual studio 2010 什么是一个好的解决方案结构,可以方便地根据每个客户定制产品?,visual-studio-2010,asp.net-mvc-3,architecture,tfs,dependency-injection,Visual Studio 2010,Asp.net Mvc 3,Architecture,Tfs,Dependency Injection,我正在寻找一些关于如何允许每个客户轻松定制和扩展核心产品的建议。我知道这可能是个太大的问题。然而,我们真的需要一些想法,如果我们得到了这个错误的设置,它可能会导致我们多年的问题。我没有很多定制和扩展现有产品的经验 我们有一个核心产品,我们通常根据每个客户定制。我们最近用一个MVC3前端在C#4中重写了该产品。我们已经进行了重构,现在有3个项目组成了解决方案: 核心域项目(名称空间-projectname.domain.*)-由域模型(供EF使用)、域服务接口等(存储库接口)组成 域基础设施项目
- 核心域项目(名称空间-projectname.domain.*)-由域模型(供EF使用)、域服务接口等(存储库接口)组成
- 域基础设施项目(namespace-projectname.infrastructure.*)-实现域服务EF上下文、存储库实现、文件上载/下载接口实现等
- MVC3(namespace-projectname.web.*)-由控制器、视图模型、CSS、内容、脚本等组成的项目。它还具有处理项目DI的IOC(Ninject)
- 代码的快速部署–启动新客户机以便 允许品牌/小改动
- 防止复制和粘贴代码的需要
- 使用尽可能多的DI来保持松散耦合
- 允许在服务器上公开代码 按客户计算
- 能够在单个产品中扩展核心产品 如果我们获得 最新版本的核心和重新部署
非常感谢您的帮助/建议。很高兴添加任何人都认为有帮助的更多信息。我可能无法完全回答这个问题,但这里有一些建议:
- 下一个主要版本:从Main创建一个新分支,dev-Inside
- 下一次要版本:在当前主要分支中,使用标签标记分支中的每个次要版本
- 一些复杂的函数特性是在请求它的客户机分支中开发的,当我们成功地“取消绑定”它时,就在版本分支中反向集成了
- 在客户端分支中修复错误,然后在需要时在其他分支中报告。(您必须为此使用工作项,否则很容易丢失)