【问题标题】:Solution organisation for product产品解决方案组织
【发布时间】:2009-06-11 09:17:41
【问题描述】:

我们有一个基础产品,为每个客户定制开发,扩展和覆盖基础的功能。

我们还有一个自定义框架,基础产品位于其之上。

我们使用继承的表单来覆盖基本功能,并且迄今为止所有表单和类都集中在同一个项目中,即 UI、数据、业务......

我们现在需要清理代码库以允许多个客户端项目同时运行基础产品,我正在寻找以下方面的建议:

  1. 组织解决方案以满足上述要求的方式,解决方案中的项目数量很大,我们希望减少这种情况以提高开发人员的生产力,我们正在考虑使用框架 DLL 引用而不是项目引用
  2. 我们是否缺少任何构建和部署技巧,我们目前有一个半自动化的构建和发布流程
  3. 管理版本控制的最佳方式是什么
  4. 产品开发的任何最佳实践

【问题讨论】:

    标签: c# .net visual-studio msbuild agile


    【解决方案1】:

    我个人坚信高度模块化的架构非常适合这里:核心应用程序应该提供基本/通用服务,并且所有客户特定的功能都应该作为插件实现(想想MEF)。因此,有几个想法:

    1. 我会为核心应用程序提供一种解决方案,并为每位客户提供额外的解决方案。
    2. 一步构建是必须的。只需花一些时间编写一些 MSBuild 脚本:这将获得十倍的回报。
    3. 请参阅APR's Version Numbering 获取灵感。
    4. 问题太宽泛了。

    【讨论】:

      【解决方案2】:

      我可以就你的第一个问题和第四个问题给你一个建议:如果我是你,我会选择一个框架 DLL 解决方案,该解决方案可以由团队轻松管理和进一步开发,并为每个子任务提供不同的解决方案项目。但是,必须妥善开发框架解决方案,并特别注意一个设计原则:开放/封闭原则 [1],因此框架的未来开发不会破坏现有实现。

      [1]http://en.wikipedia.org/wiki/Open/closed_principle

      【讨论】:

        猜你喜欢
        • 2012-02-19
        • 1970-01-01
        • 1970-01-01
        • 2016-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-20
        • 1970-01-01
        相关资源
        最近更新 更多