我有一个 C# 客户端和一个 java 服务器。我有来回传输的数据对象。让我们称它们为 FooData.cs,其中一切都只是一个 get 和一个 set(没有逻辑)
FooData data = new FooData();
data.Price = 10;
data.Quantity = 20;
我有其他派生字段,我想在应用程序中使用,但不需要通过网络发送,所以我有另一个类
FooWrapper.cs。
我将数据对象注入到包装器中
FooWrapper wrapper = new FooWrapper(Foodata);
wrapper.Price = 10;
wrapper.Quantity = 20;
double total = wrapper.GetTotal();
并且包装器具有许多与数据对象相同的属性(我们只是向下委托),或者包装器也具有许多计算属性。包装器的唯一状态是数据对象(没有其他成员变量)
我们就使用此模型与使用转换器进行了辩论。转换器的方式是使用 FooBusinessObject 代替 FooWrapper,而不是注入“在线”对象,我们调用一个转换方法,将所有数据从在线对象传递到业务对象。
FooData data = new FooData();
FooBusinessObject busObj = new FooBusinessObject();
busObj.Price = data.Price;
busObj.Quant= data.Quantity;
double total = busObj.GetTotal();
关于更好的任何想法(包装器与业务对象/转换器)