如何强制执行某种类型的服务仅由特定类型的实体使用

时间:2016-04-15 09:52:45

标签: c# .net design-patterns interface

我正在尝试设计一个应用程序,我遇到了一个简单的问题。 我们有两种类型的用户IUserIAdministrator,然后我们有两个名为IUserOperationsServiceIAdministratorOperationsService的服务类。根据登录的用户类型,我们希望确定可用的操作。但我的问题是如何强制执行管理操作仅适用于IAdministrator而非IUser

IUser -

public interface IUser
{
    string UserName { get; set; }
    string Name { get; set; }
}

IAdministrator -

public interface IAdministrator : IUser
{
}

IUserOperationsService -

public interface IUserOperationsService
{
    IUser GetUserByUserId(short userId);
}

IAdministratorOperationsService -

public interface IAdministratorOperationsService
{
    short AddUser(IUser user);
    bool DeleteUser(IUser user);
    bool EditUser(IUser user);
}

0 个答案:

没有答案