产品解决方案组织

发布于 2024-07-24 15:02:38 字数 379 浏览 4 评论 0 原文

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

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

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

我们现在需要清理代码库以允许多个客户端项目运行我立即开始研究基础产品,并在以下方面寻求建议:

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

We have a base product that has bespoke development for each client that extends and overwrites the functionality of the base.

We also have a custom framework that the base product and sits on top of.

We use inherited forms to override the base functionality and to date all the forms and classes have been lumped in the same projects i.e. UI, Data, Business...

We need to clean up the code base now to allow multiple client project to run off the base product at once and I was looking for advice around the following areas:

  1. Ways of organising the solution to fit with the above requirements, the number of projects in the solution is quite large and we want to reduce this to increase developer productivity, we are think of making the Framework DLL references instead of project references
  2. Are there any build and deployment tricks we are missing, we currently have a half automated build and release process
  3. What is the best way to manage versioning
  4. Any best practices for product development

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

魔法唧唧 2024-07-31 15:02:38

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

  1. 我会为核心应用程序选择一种解决方案,并为每个客户提供额外的解决方案。
  2. 一步构建是必须的。 只需投入一些时间编写一些 MSBuild 脚本即可:这将带来十倍的回报。
  3. 请参阅 APR 的版本编号以获取灵感。
  4. 问题太宽泛了。

I personally strongly believe that highly modular architecture will fit here nicely: core application should provide basic/common services, and all customer-specific functionality should be implemented as plug-ins (think MEF). Hence, several thoughts:

  1. I'd go for one solution for core application plus additional solution for each and every customer.
  2. One-step build is a must. Just invest some time in writing a handful of MSBuild scripts: this will pay off tenfold.
  3. See APR's Version Numbering for inspiration.
  4. Too broad a question.
紫竹語嫣☆ 2024-07-31 15:02:38

我可以就你的第一个问题以及第四个问题给你一个建议:如果我是你,我会选择一个框架 DLL 解决方案,该解决方案可以很容易地由团队管理和进一步开发,并为每个后续项目提供不同的解决方案。 然而,框架解决方案必须得到适当的开发,并特别注意一个设计原则:开放/封闭原则[1],以便框架的未来开发不会破坏现有的实现。

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

I can give you an advice on your first question and maybe a little of the forth : If i were you I would go with a framework DLL solution that could easily be managed and futher developed by a team and different solutions for each subsequest project. However, the framework solution would have to be propely developed, with extra care to one design principle: Open/closed principle [1] so future development of the framework does not break the existing implementations.

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文