在我撰写的系统中,我有一揽子和服务目标的概念。
一揽子计划是收集服务的集装箱,具有一套内在的可预见限制。 这些限制包括:
- Which types of service are supported
- The number of services that can be allocated to the package
- The properties that need to be set to specific values within said services
需要在兼容的包之间实现升级和降级。 通过这样做,一揽子计划中的服务需要转让、修改和可能创造或删除,以适应新的一揽子计划的限制。
在任何资金到位之前,都需要这样做,以确保某些独特的资源被分配到这些服务中(并同时存在)。
问题是,如果付款失败,升级就会取消——我们如何阻止修改,回到原来的国家?
以下(非详尽)问题清单可能出现:
- By deleting services that are no longer compatible with the new package, unique constraints could be released which are then used by other packages (in other accounts etc.) stopping rollback being possible
- Services that are deleted are difficult to restore with references intact
- If services aren t deleted, they continue to consume unique constraints that might need to be used by other similar services
处理目前的方式是采取一揽子措施,将物体从中排除(而不是删除),并列出在退约情况下恢复状态的步骤清单。 然而,这是在个案基础上进行的,容易发生错误,感到cl。
我很想知道,你中是否有任何人遇到类似的情况,并知道可以在这里使用的模式或方法。 基本上,我们需要能够更新一套物体的状况,进行这些改动,但可以选择追溯到以前的版本。 NB: 在该系统内,物体的状况可以序列化和储存。
任何“我不喜欢”都感激地收到替代物的意见。
例如:
www.un.org/Depts/DGACM/index_spanish.htm 升级前:
www.un.org/Depts/DGACM/index_spanish.htm 升级后: