“可重用的业务组件”是一个神话吗?

时间:2010-12-09 20:04:42

标签: architecture components business-logic code-reuse

阅读讨论后How to create generic/reusable code with Scrum? 我想到了我对可重用组件的体验。

我创建了几个“技术组件”,这些组件在其他项目中被重复使用。

我还创建了几个最初为可重用性而设计的“业务组件”。但是,由于针对不同客户的解决方案不同,因此它们从未作为一个库重复使用。 当然,思想和代码片段是从商业图书馆重复使用的,而不是图书馆本身。

许多客户都使用像SAP / R3这样的大型应用程序。在我看来,这是一个整体,而不是一个独立的组件。

所以我问自己:“可重用的商务组件”是一个神话吗?如果是,为什么创建一个这么难?

2 个答案:

答案 0 :(得分:1)

如果您将三种知识分类为:

  • known-knowns - 你知道的事情
  • 已知 - 未知 - 你不知道的事情
  • unknown-unknowns - 你甚至不知道它存在

软件工程可以轻松解决前两个类别 - 解决现在已经很好理解的问题,并为明天解决不太明白的问题留出空间。但是,第三类是在* ss中咬你的东西。

http://opinionator.blogs.nytimes.com/2010/06/20/the-anosognosics-dilemma-1/

http://en.wikipedia.org/wiki/Unknown_unknown

答案 1 :(得分:1)

我说这不是一个神话 - 但在我的经历中确实很少见。

这也取决于你所谓的组件,以及你正在看的粒度级别。我工作的每个用户和业务部门都使用Microsoft Office和Exchange - 因此它们具有高度可重用性。

如果他们认为他们会从中获益,任何人都会重复使用。最大的诀窍是让他们看到这一点。你也反对人性 - 不相信他们不理解的东西,等等。

我确实看到了一个例子,其中一个真正可重复使用的业务组件被确定为需要/需要:但实际上构建它是一个大问题:谁将拥有它?谁会为此付钱?

作为“全政府”推动的一部分,我们拥有一个技术组件,允许我们与集中提供的身份和访问管理服务集成。这允许公众拥有一个帐户(用户名和密码等),他们可以使用这些帐户登录任何政府提供的在线服务(他们使用中央IAM服务)。

因为我们的系统(与集中提供的位相结合)提供了与业务相关的功能,所以我认为这是您神秘的可重用组件的一个示例。该解决方案允许我们将组织内用户的管理委派给该组织内的管理员 - 从而在多个业务部门之间提供业务价值(减少管理开销)。