征求关于解决一种情况的模式或最佳实践的反馈/想法,我在过去几年中看到过几次,但我没有找到任何一个解决方案能够像我希望的那样解决它。
以下是背景信息。
公司有三个应用程序,支持非常相关的三个“业务线”。其中两个应用程序与原始应用程序完全相同。这些应用程序需要能够以不同的速度增长并具有略微不同的功能。主要功能上的差异来自数据输入字段。这些差异基本上可以分为以下几类:
- 一个实例具有其他实例没有的几个字段。
- 字符串字段在一个实例中的最大长度为200,在另一个实例中为50。
- 查找/引用字段具有不同的底层值(即来自不同数据库的相同表结构)。
- 一个字段在一个实例中被定义为用户提供的自由文本值,在另一个实例中则为查找/引用。
问题在于公司中还有其他应用程序需要从这三个单独的应用程序中消耗数据,但理想情况下,通过核心/集中的方式与它们交互(即通过一个中央服务而不是3个单独的服务)。我的问题是如何处理特别是D项。我认为“最低公共分母”方法可能是唯一的方法。例如:
<SomeFieldName>
<Code></Code> <!-- would store a FK ref value if instance used lookup, otherwise would be empty or nonexistent-->
<Text></Text> <!-- would store the text from the lookup if instance used lookup, would store user supplied text if not-->
</SomeFieldName>
你对此有其他想法/建议吗?
谢谢!