我公司有一种根据客户银行提供的规格定制的产品。现在,由于该产品是成功的,另一家银行也来了,我们不得不做一些代码更改,以便为他们的银行提供所需的自定义。现在的问题是,接近我们的银行数量每天都在增加,我的团队期待着某种泛化,以便在交付时使用最小代码changes.Now配置产品,我的问题如下:
注意:我们主要使用的是Spring3模块来构建解决方案,并期待着某种可以定制、易于交付的工业产品,甚至可以在没有陡峭学习曲线的情况下实现快速的过程。
发布于 2012-08-08 07:48:02
没有简单(一刀切)的解决方案。定制的范围从外观UI样式,到在数据模型级别添加新的字段/关系,更改业务逻辑等,更改工作流。
处理这个问题的好方法是找出在不同的实现中什么是常量,以及需要更改什么。回到过去,进行必要的更改,通过添加新代码而不是修改现有代码(打开关闭原则),使定制这些事情变得更容易。有选择地使用工作流引擎、业务规则引擎可以使特定类型的定制更容易。
目标应该是努力拥有一个具有70-80 %核心特性的通用代码库,然后再添加15-20%的特定定制。
通过使用一些拖放UI,甚至通过XML / db配置来构建可以动态配置的东西的方法通常比设计良好的带有钩子的核心模块允许通过编写新代码进行定制的方法复杂几个数量级。
您可以查看一下诸如OFBiz、OpenERP等东西,了解如何做到这一点,以及它们会变得多么复杂。
您还可以查看现代代码生成框架(如春Roo、雕刻家等),这些框架可以帮助构建一个可以通过编写额外代码轻松定制的基本产品。
https://stackoverflow.com/questions/11858717
复制相似问题