构建更好的WCF服务
本文关键字:服务 WCF 更好 构建 | 更新日期: 2023-09-27 18:11:20
我正在构建WCF服务,我有一个关于WCF服务设计的问题:
例如:如果我有一个数据访问层,有两个类Person和Product:public class Person
{
public DataTable Select()
{...}
}
public class Product
{
public DataTable Select()
{...}
}
两个类都有Select()方法。为了在WCF中使用这些类,我在前面的项目
中使用了两种方法1)创建两个服务类PersonService和ProductService:
public class PersonService : IPersonService
{
public DataTable Select()
{
Person person = new Person();
return person.Select();
}
}
public class ProductService : IProductService
{
public DataTable Select()
{
Product product = new Product();
return product.Select();
}
}
在这种情况下,我必须单独创建/配置服务类。2)创建一个服务类并使用不同的名称:
public class MyService : IMyService
{
public DataTable PersonSelect()
{
Person person = new Person();
return person.Select();
}
public DataTable ProductSelect()
{
Product product = new Product();
return product.Select();
}
}
在这种情况下,我必须创建/配置一个服务类。但是方法有更大的名字(例如:PersonSelect()而不是Select())
哪个是更好的方法?,为什么?
谢谢。
首先,从服务返回数据表/数据集是不理想的,但是根据单责任原则回答你的问题,一个类应该只做一件事,所以如果ProductSelect和PersonSelect似乎只与一件事相关,那么把它们放在一起,否则应该分开。
我们的想法是把那些容易改变的东西分开,这样改变一个不会影响另一个。