У нас есть файл xRppRots, содержащий путь к странице и роль пользователя, которые могут получить доступ к этой странице.Singleton vs Static Class для отображения данных, прочитанных из xml
Мы поддерживаем словарь в статическом классе, который загружает int статический конструктор для класса. Класс имеет метод CheckIfRoleAllowed, который принимает путь к странице и возвращает bool.
На каждой странице вызывается CheckIfRoleAllowed на странице Init.
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)
{
}
}
Было бы лучше сделать это, используя одноэлементный шаблон? Если да, то почему?
С уважением.
Любой из них будет плотно связывать зависимые классы с этим классом. Спросите себя: «Как я буду тестировать класс или метод, который зависит от PageAccessChecker независимо от PageAccessChecker?»? @ Джеймс Карран - это правильно. – TrueWill 2011-09-15 14:35:38