我设计了一个多层解决方案并创建了一堆管理器类来实现业务逻辑。所有的管理器都是从BaseManager
类派生的。为了更清楚,这里的UserManager
类:
public class UserManager : BaseManager
{
public void Add(User user)
{
...
}
public void Update(User user)
{
...
}
public void Delete(User user)
{
...
}
public bool GetAccessPermissions(User user)
{
...
}
}
BaseManager
如下:
public class BaseManager
{
protected IRepository repository = IoCLocator.Resolve<IRepository>();
public BaseManager()
{
...
}
// Some shared methods among manager classes.
}
现在我怀疑我的管理器类是否都应该定义为静态的,因为它们将它们想要操作的相关实体作为参数。但是正如您所看到的,我有一些共享的私有/受保护成员,我应该在每次调用时实例化它们。(例如repository
,应该在创建每个管理器类时实例化)。
将管理器类定义为静态并且在每次调用管理器方法时仍然实例化受保护的成员时,我有哪些选择?