我即将开始为各种业务应用程序编写一套 WCF 服务。这个 SOA 一开始会非常不成熟,最终会演变成一个强大的中间件层。
不幸的是,我没有编写全套服务然后重构应用程序以使用它们的奢侈,这将是一个随着时间的推移完成的迭代过程。我的问题是围绕发展(更改、添加、删除属性)业务对象。
例如:如果您有一个 SOA 公开一个返回 obj1 的服务。app1、app2、app3 正在使用该服务。想象一下,app1 的对象已更改,我不想为 app1 所做的更改更新 app2 和 app3。如果更改是添加属性,它将正常工作,它根本不会被映射,但是当您删除属性时会发生什么?或者将属性从字符串更改为 int?你如何管理变化?
提前感谢您的帮助?
PS:我确实做了一张小照片,但显然我需要 10 的声望,所以你必须发挥你的想象力......