我最近在我们的代码中遇到了这种模式(?),并想知道它是如何有用的,如果有的话.我们有一个Spring应用程序和一个使用BlazeDS的Flex前端.我们决定在DTO上使用接口,如下所示:
Java的
public interface ISomeDTO {
Integer setId();
void getId(Integer i);
}
public class SomeDTO implements ISomeDTO
{
..
}
动作
public interface ISomeDTO {
var id:Integer;
}
public class SomeDTO implements ISomeDTO
{
..
}
DTO上的界面会让您获得什么?这些是轻量级对象,逻辑绝对为零. DTO有意义,界面有意义,但不是在一起.
解决方法:
我不明白为什么接口和DTO不会一起工作.
考虑一个从DTO创建域对象的工厂/汇编程序.您可以使用策略配置工厂,以便能够根据给定的DTO类型创建域对象的特定实现.理想情况下,DTO将在此处键入接口. (这也是相反的方向).
我不是说你应该把每个DTO放在一个接口之后,但就像在域对象中一样,肯定会有这样做的情况.