上一次我們完成了資料訪問層的介面和實現,這次我們按部就班的完成業務層介面及實現,並採用spring.net聲明式事務.另外,採用nunit對業務實現進行單元測試.
象petshop架構一樣,我們先定義業務層介面,這裡只和實體有有耦合.我們拿使用者User為例:
IUserManager
using DirectCenter.Model;
namespace DirectCenter.IBLL
{
/// <summary>
/// 使用者管理
/// </summary>
public interface IUserManager
{
/// <summary>
/// 建立一個使用者(返回包含預設值)
/// </summary>
/// <returns></returns>
User NewUser();
/// <summary>
/// 儲存使用者
/// </summary>
/// <param name="user">使用者實體</param>
/// <returns></returns>
User SaveUser(User user);
/// <summary>
/// 擷取使用者
/// </summary>
/// <param name="userId">使用者ID</param>
/// <returns></returns>
User GetUser(string userId);
/// <summary>
/// 刪除使用者
/// </summary>
/// <param name="userId">使用者ID</param>
/// <returns></returns>
void DeleteUser(string userId);
/// <summary>
/// 更新使用者
/// </summary>
/// <param name="user">使用者實體</param>
/// <returns></returns>
User UpdateUser(User user);
}
}