更好的方法是:在服务契约(接口)中使用派生类?或者使用不太具体的类(基类)?假设我有基类RequestDto
和ResponseDto
,所有其他类都继承自其中一个。
让我的所有方法接收或返回这个对象,然后我进行正确的强制转换,像这样:,这是一个好的做法吗
ResponseDto GetInfos(RequestDto resquestDto)
ResponseDto GetInfosById(RequestDto resquestDto) {
return (ResponseDto)myResponseObject;
}
然后,我将ResponseDto
强制转换为调用这些方法时所期望的正确派生类。
谢谢你的帮助。
您可以在这里查看:http://channel9.msdn.com/Blogs/Subscribe/DataContract-Coupling-in-Messaging.这个播客是关于服务和服务消费者之间的数据耦合。得出的结论是,在服务接口中使用多态类型是一件坏事,因为它在服务和消费者之间引入了非常紧密的耦合。希望能有所帮助。