想象一下这种情况:由第三方系统提供的Customer对象,它具有与电话号码相关的多个属性。
public class Customer {
private String phoneAreaCode;
private String phoneNumber;
}
另一个第三方系统,它接收自己的Customer对象,里面有一个Phone对象。
public class XCustomer {
private Phone phone;
}
我想知道是否有OO设计模式将Customer转换为XCustomer。如果其中一个客户知道另一个Customer对象并将手机属性转换为Phone对象吗?我应该创建实用程序类来将其转换为另一个吗?还是有更好的解决方案?
public interface CustomerConverter {
CustomerX convert(Customer customer);
}
public class CustomerConverterImpl implements CustomerConverter {
@Override
public CustomerX convert(Customer customer) {
// TODO convert
}
}