代码之家  ›  专栏  ›  技术社区  ›  Burt

产品解决方案组织

  •  1
  • Burt  · 技术社区  · 15 年前

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

    我们还有一个定制的框架,它是基础产品,位于框架之上。

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

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

    1. 组织解决方案以满足上述要求的方式,解决方案中的项目数量非常大,我们希望减少这一数量以提高开发人员的生产力,我们考虑使用框架dll引用而不是项目引用。
    2. 有没有我们缺少的构建和部署技巧,我们目前有一个半自动的构建和发布过程
    3. 管理版本控制的最佳方法是什么
    4. 产品开发的任何最佳实践
    2 回复  |  直到 15 年前
        1
  •  1
  •   Anton Gogolev    15 年前

    我个人强烈认为,高度模块化的体系结构将非常适合这里:核心应用程序应该提供基本/公共服务,并且所有特定于客户的功能都应该作为插件实现(想想 MEF )因此,有几点想法:

    1. 我将为核心应用程序提供一个解决方案,为每个客户提供额外的解决方案。
    2. 一步建成是必须的。只需花些时间来编写少量的msbuild脚本:这将获得10倍的回报。
    3. APR's Version Numbering 为了灵感。
    4. 问题太宽泛了。
        2
  •  1
  •   AlexDrenea    15 年前

    我可以给你一个关于你的第一个问题的建议,也许还有一些第四个问题:如果我是你,我会使用一个框架dll解决方案,这个解决方案可以很容易地由一个团队来管理和进一步开发,并为每个子任务项目提供不同的解决方案。但是,框架解决方案必须得到适当的开发,特别要注意一个设计原则:开放/封闭原则[1],因此框架的未来开发不会破坏现有的实现。

    〔1〕 http://en.wikipedia.org/wiki/Open/closed_principle