0

我当前的应用程序架构计划是

UI -> 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);
}

现在这个接口应该对不同的实体有不同的实现,比如产品、类别、客户,但是 wcf 只能有一个服务类......

知道我现在应该做什么吗???

4

1 回答 1

2

简而言之,我会做的(并在某些项目中成功完成)是这样的:

  • 使用 WCF 作为端点创建服务层。该层可以包含静态方法,包含在仅用作“命名空间”的类中,例如“UserService”、“MessagesService”等。世界“看到”的只是这些类。

  • 使用传统的完整 OO 类在其背后创建您的业务逻辑

  • 创建您的 DAL;除了 BL 访问它之外,Service Layer 也可以访问它,用于无法证明使用完整业务逻辑的简单操作。

我不会使用泛型作为 WCF 端点,它可以做到,但如果您将服务层视为单一操作的单一方法,您将赢得最终将其变成一种公共 API 的选项(如果你想要)。

于 2012-07-16T06:55:20.963 回答