首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何平衡干原理和最小化依赖?

如何平衡干原理和最小化依赖?
EN

Stack Overflow用户
提问于 2009-08-07 01:19:40
回答 2查看 747关注 0票数 10

我有一个问题的干燥原则(不要重复自己)和最小化依赖围绕Rete规则引擎。

大型IT组织中的规则引擎往往是企业(请注意大写"E“-这是严肃的业务)。所有规则必须表达一次,好和干,并集中在一个昂贵的规则引擎。一个组维护规则引擎,并且是规则集的守护者。

当IT组织是美国保险公司的一部分时,往往会有很多规则。有一些规则适用于所有的州和产品,但每个州都倾向于为不同的产品制定自己的法律,因此这些规则需要反映这些怪癖。分类很多:精算,承销,甚至订购信贷和汽车报告从第三方分局。

从设计的角度来看,我遇到的问题是,集中规则和处理当然是好的和枯燥的,但也有代价:

如果将规则引擎公开为SOAP web服务,则domain;

  • Additional

  • 附加网络跳以访问中心位置的规则服务并返回结果;如果规则引擎公开为SOAP web服务,则

  • 额外的复杂性--消费者必须打包SOAP请求,并将响应返回到维护规则引擎的企业组、设置和维护规则的业务以及使用规则的开发人员之间的OXM接口;额外的复杂性--有时数据驱动的解决方案可能是enough.

  • Additional依赖--无法控制自己规则的组件必须担心用于测试、部署、发布等的规则引擎上的外部依赖关系。

这些问题伴随着许多其他企业技术(例如,B2B网关、ESB等)而出现。

同样的企业集团也把SOA作为一个基本原则。但是我对正确的服务设计的理解是,它们应该是业务空间,并且是幂等的、独立的和孤立的。如果一个服务的规则是在其他地方维护的,那么它怎么可能是独立和孤立的呢?

我想在简单的方面犯错,认为如果规则只适用于孤立的情况,那么消除依赖应该优先于集中化。我不确定这场争论能赢得今天的胜利。

所以我的问题是:

你认为集中还是独立的观点在哪里? centralization?

  • 你对规则引擎这样的企业工具有什么经验?

  • ,我如何才能使隔离的论点更有力?如果我的观点不正确,你会提出什么有利于

  • 的论点?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-15 15:43:59

从长远来看,对整个系统进行简单的维护将是一个绝对的要求。

因此,DRY应该不惜一切代价兑现,即使这涉及性能的损失,一些额外的配置问题和其他“小”问题。

另外,“独立”与“独立”是不同的。

否则,想象一下当你需要改变某件事的时候,你必须联系很多不同的人来迫使他们更新。使用DRY,您还可以解决在短时间内同时运行不兼容版本的问题。

所以

  1. Centralization >独立(至少在系统中是这样的)(至少在系统中,规则引擎(每个人都在同一页上)的真理点)
  2. 提醒他们维护的成本随着时间流逝
  3. ,我发现您的观点是正确的。
票数 5
EN

Stack Overflow用户

发布于 2009-11-24 18:50:44

你的问题是企业特有的,我更喜欢桌面的东西,所以我希望这个答案不要太笼统。我喜欢不要重复你自己的概念,直到我发现它是如何被编纂和僵化的。我喜欢它,因为它与我一致(嗯!)以及我自己关于如何使代码更易于维护和更少出错的想法。基本上,我认为维护人员需要更多的学习曲线来获得更好的可维护性。我不认为有什么简单的方法能解决这个问题。Here's an example of how to increase maintainability by a good factor, but not without a learning curve.

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1242412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档