我的应用程序的当前架构计划是
用户界面 - > WCF Bal - >通用Dal - >实体模型
我已经创建了泛型Dal方法和相关实体,并且将从业务逻辑处理要执行的特定操作。
我正在尝试在wcf上创建一个业务逻辑,而且之前我们曾经为单独的实体做单独的类,所以从WCF上下文混淆了如何去做?
我最初想过创建一个具有通用实现的接口,比如
public interface IBalService<TEntity> where TEntity:class
{
[OperationContract]
IDictionary<int, string> Populatelist();
[OperationContract]
IEnumerable<TEntity> Viewall();
[OperationContract]
void Insert(TEntity obj);
[OperationContract]
void Update(TEntity obj);
[OperationContract]
void Delete(TEntity obj);
}
现在这个界面对于不同的实体应该有不同的实现,比如Product,Category,Customer但是wcf只能有一个Service类......
知道我现在应该做什么???
答案 0 :(得分:2)
简而言之,我会做的(并在一些项目中成功完成)是:
使用WCF作为端点创建服务层。该层可以包含静态方法,这些方法包含在仅用作“命名空间”的类中,例如“UserService”,“MessagesService”等。 世界“看到”的只是这些类。
使用传统的完整OO类
创建您的DAL;除了访问BL之外,服务层还可以访问它,以便进行简单的操作,而这些操作并不能证明使用完整的业务逻辑。
我不会将泛型用作WCF端点,它可以完成,但如果您将服务层视为单一操作方法,您将赢得最终将其变为某种公共选项的选项API(如果您愿意)。