2

我公司有一种产品是根据其中一家客户银行提供的规格定制的。现在,由于该产品取得了成功,另一家银行接洽了同样的产品,我们不得不做一些代码更改,以便为他们提供银行所需的定制。现在的情况是,与我们接洽的银行数量每天都在增加,我的团队期待某种概括,以便在交付时以最少的代码更改配置产品。现在我的问题如下:-

  1. 如何将代码模块化以实现完美定制?
  2. 前端如何实现定制化,让不同银行根据自己的需求进行配置?
  3. 需要哪些模板和后端技术来填补上述要求的空白。
  4. 暂时我们使用本地化来根据客户更改标签,但有没有更好的方法?
  5. 如果要快速交付应用程序,Drools 或 OSGI 是否有用。
  6. 是否还需要验证不同字段和其他 ui 组件,以满足特定银行的需求?他们有哪些可用的解决方案?

注意:我们使用 Spring3 主要是 MVC 模块来构建解决方案,并期待某种可以定制的工业产品,可以轻松交付,甚至过程应该很快,没有陡峭的学习曲线。

4

1 回答 1

0

没有简单(一刀切)的解决方案。自定义范围从化妆品 UI 样式,到在数据模型级别添加新字段/关系,更改业务逻辑等,更改工作流。

处理这个问题的好方法是弄清楚在不同的实现中什么是不变的,什么需要改变。返回并进行必要的更改,以便通过添加新代码而不是修改现有代码来更轻松地自定义这些内容(打开关闭原则)。选择性地使用工作流引擎、业务规则引擎可以使某种定制变得更容易。

目标应该是努力拥有一个具有 70-80% 核心功能的通用代码库,然后再增加 15-20% 的实现特定定制。

通过使用一些拖放 UI 甚至通过 XML / db 配置来构建可以动态配置的东西的方法通常比您拥有设计良好的核心模块的方法复杂几个数量级,该方法带有钩子以允许通过以下方式进行自定义编写新代码。

您可以查看OFBizOpenERP等内容,了解如何操作以及它们会变得多么复杂。

您还可以查看Spring RooSculptor等现代代码生成框架,它们可以帮助构建可以通过编写额外代码轻松定制的基础产品。

于 2012-08-08T07:48:02.997 回答