Pok*_*oku 3 c# architecture delphi
我想问一下您在开发和部署一个通常具有一些标准功能的应用程序方面的经验,但该应用程序还可以具有客户特定功能.
例如:
你怎么解决这个问题?
您是否有一个项目可以从中部署所有应用程序,然后使用某种配置文件来确定特定应用程序中哪些功能可用?
你会为每个客户开一个项目吗?这就是我现在正在做的事情,但问题在于如果需要在标准功能中修复错误,我必须在每个项目中修复它们.
任何其他建议都非常欢迎.
该应用程序是在Delphi和C#中开发的.
我的公司通过为所有客户提供所有功能来解决这个问题.这使开发更简单,使我们可以花更多的时间来改进产品,而不必花时间处理可选功能的复杂性.
我们有时遇到来自客户的温和抵制,他们想要一个功能较少的便宜版本,但这从来就不是销售问题.
另一方面,如果你向客户销售价格较低的功能较少的版本,他们可能会试图摆脱这些更便宜的版本.这可能导致他们不喜欢软件,因为他们买了便宜的残缺版本.我坚信能够为用户提供最好的产品.
这个建议可能不适合您的个人情况,但您确实表示欢迎任何意见.
每个客户一个版本不是一个好主意,恕我直言.它将在一天或更晚的时间内停止销售.
最好让所有功能都发布给所有客户,例如只维护一个软件,但是用密码锁定.您可以在软件安装中提供唯一的许可证编号,以识别客户(将其名称放在许可证中),然后根据此许可证编号计算一些密码,根据请求解锁某些功能 - 付款时.这个密码可以通过网站轻松实现自动化,而且成本最低.
或者您也可以让所有功能都可用于测试,但锁定打印或保存 - 只是为了让客户考虑花一些钱来获得这个"很好的附加功能".
有时,拥有所有功能往往会创建一个"Gasworks"应用程序.您可能需要单独的安装应用程序,以根据客户的需求自定义应用程序.值得思考这个架构.
即使使用版本控制,多个版本仍然是一个需要维护的噩梦:例如,只需将所有修补程序后端移植到以前的版本就需要花费大量时间.如果您不需要(例如,由于监管目的/认证版本),请不要"分支"您的软件.