Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос по паттернам / 3 сообщений из 3, страница 1 из 1
18.06.2013, 11:13
    #38301174
saxix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по паттернам
Есть класс-контейнер, в котором хранятся данные в BindingList и методы по "управлению" этим списком. Требуется получить доступ к этим данным (получение, управление) из нескольких других классов (формы). Какой паттерн это "описывает"?
...
Рейтинг: 0 / 0
18.06.2013, 11:44
    #38301238
petalvik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по паттернам
saxix,

Это описывает анти паттерн "глобальная переменная".


Смотря что нужно.

Если нужен один экземпляр этого класса во всех местах, то получается Singleton.


Можно передавать ссылку на этот класс в другие классы. Если расширить это понятие, то получим "Внедрение зависимости" - Dependency injection. Она может быть через конструктор/свойство/метод.

При этом, если те другие классы будут иметь параметр не конкретного типа, а базового или ещё лучше интерфейса, то можно будет динамически подсовывать любую нужную реализацию. Таким образом получим ещё и (возможно) лучшую тестируемость: можно будет легко "мокать" в юнит-тестах любые классы.

А если применить ServiceLocator, а лучше IoC-контейнер, то избавимся от передачи прямых зависимостей по всему коду.
...
Рейтинг: 0 / 0
18.06.2013, 12:08
    #38301290
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по паттернам
saxixЕсть класс-контейнер, в котором хранятся данные в BindingList и методы по "управлению" этим списком. Требуется получить доступ к этим данным (получение, управление) из нескольких других классов (формы). Какой паттерн это "описывает"? Registry
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос по паттернам / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]