WCF服务和业务逻辑

min*_*son 8 wcf business-logic-layer business-logic

我不确定在哪里放置我的业务逻辑.我有一个WCF服务,它的方法暴露给我的客户端.

我的业务逻辑应该采用服务方法吗?

public User GetUser(int id)
{  
     //Retrieve the user from a repository and perform business logic
     return user;
}
Run Code Online (Sandbox Code Playgroud)

或者它应该在一个单独的类中,每个WCF服务方法将依次调用业务层方法.

public User GetUser(int id)
{  
     return _userLogic.GetUser(id);
}
Run Code Online (Sandbox Code Playgroud)

chr*_*.00 8

我个人的偏好是将WCF作为一个非常薄的层放在一个单独的业务层之上.WCF层只是调用业务层,类似于您在选项2中显示的内容.如果您希望业务层被WCF客户端以外的其他方式使用,则可以提供一些灵活性(例如,WPF应用程序直接调用您的业务层而不是通过WCF).

  • 我必须同意.我将WCF类视为一种通信机制,仅此而且业务逻辑不属于那里. (2认同)