Задумался над системой хранения параметров системы. С учетом того, что параметра должны хранить как сама система так и extension под неё. Получается два варинта.
1. Хранение всех параметров в централизованом хранилище(реестр аля Windows).
2. Каждая программа хранит свои настройки вместе с собой(web.config, global.asax и др).
Но главное это не то как будут храниться параметры. Главное это то как модули будут получать свои параметры во время работы.
1. Есть центральный механизм для получения параметров и каждый кто хочет получить их должен к нему обратиться. Прост в реализации и поддержки. НО!!! Такой принцип очень сильно привяжет разрабатываемые расширения, и если он будет изменен, каким-либо образом, то все программы написанные под него, полетят.
2. Использовать IoC-конвеер и паттерн независимой инъекции. Тоесть каждый extension сам решает каким образом ему читать свои параметры, но все они должны реализовывать, какой-либо единый, интерфейс. Тут надо по подробнее почитать IoC-конвееры, если сам паттерн понятен, то с конвеерами не все так просто...
Комментариев нет:
Отправить комментарий