我们有一个PageRoles XML文件,其中包含页面路径和可以访问该页面的用户角色。用于显示从xml中读取的数据的单例对静态类
我们在一个静态类中维护一个Dictionary,它获取类的静态构造函数。 该类有一个方法CheckIfRoleAllowed,它接受页面路径并返回一个布尔值。
每个页面调用Page Init上的CheckIfRoleAllowed。
static class PageAccessChecker
{
static Dictionary<string, UserRoleType[]> _PageAccessPermissions;
static FileSystemWatcher _XmlWatcher;
static PageAccessChecker()
{
// Load page access permissions from xml
// Set FileSystemWatcher watcher to watch for changes
}
public static CheckIfRoleAllowed(string pagePath)
{
}
}
我们会不会更好使用Singleton模式这样做呢? 如果是,为什么?
亲切的问候。
任何一个人都会将依赖的类紧密地耦合到这个类。问自己,“我将如何单独测试一个依赖于PageAccessChecker而不依赖于PageAccessChecker的类或方法?” @James Curran是正确的。 – TrueWill 2011-09-15 14:35:38