面向服务的程序封装Save方法的错误

来源:互联网 发布:s7200梯形图编程实例 编辑:程序博客网 时间:2024/06/05 20:37

    最近接手的一个项目,遇到了一个前同事遗留下来的一个糟糕的问题,在数据库实体类变更的时候不得不把所有子系统统统都发布一次。

原因很简单,核心系统在对外抛接口的时候针对Update方法接收的参数是一个实体,而不是传递需要更改字段的集合,因为如果只发布服务层代码那么其他子系统传递过来的实体对象在服务层解析的时候会被重置为默认值。

之前同事定义的是一个Save方法标准 Id = 0 Create ,id > 0 update。这个实现方式在对于一个面向服务的系统架构不合适,因为我们添加一个字段往往只针对某一块业务或者系统。

    那么这个问题如何解决?或者说不更改Save参数本身的前提下解决呢? 

    目前想到的一种可行的解决方案是在服务端反序列化的时候将对应的值转换成集合的方式存储到对象的一个属性中,在update的时候根据集合中的键值来做更新。

    如果大家有更好的解决方案可以讨论下。

0 0
原创粉丝点击