Категория:Плагины modlibs — различия между версиями
Alex (обсуждение | вклад) (Новая: Категория:Плагины) |
DShtolin (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
[[Категория:Плагины]] | [[Категория:Плагины]] | ||
+ | Плагины modlib подразделяются на три типа: | ||
+ | * Библиотеки - считаются продолжением того плагина, который их вызывает (тот же ama к ним относится). Он не нарушает архитектуру того, что внешние синхронизации должны быть через sync, потому что просто линкуется к модулю sync, который его вызывает и не имеет собственных данных, настроек, не инициализирует сам никаких действий. Библиотеки виджетов имеют тот же принцип - они расширяют плагины im, а не действуют самостоятельно | ||
+ | * Системные сервисы. В FDO микроядерная архитектура, поэтому любые системные расширения включаются не в ядро, а в modlib: расширенные базовые классы, методы отправки уведомлений, методы логирования (если не в базу, а в файлы логов), методы сохранения сообщений об ошибках, методы отправки уведомлений пользователю. | ||
+ | * Контроллеры для модели MVC: если у нас сложная модель предметной области (например, журнал), задействующая много справочников, нам будет сложно сделать декомпозицию методов справочников, не сформировав слишком много перекрестных зависимостей, но и в im/journal мы не должны класть методы для работы с данными, im занимается только отображением и первичной обработкой форм, поэтому мы выносим контроллер в отдельный modlib/journal или вроде того. |
Текущая версия на 12:27, 1 декабря 2017
Плагины modlib подразделяются на три типа:
- Библиотеки - считаются продолжением того плагина, который их вызывает (тот же ama к ним относится). Он не нарушает архитектуру того, что внешние синхронизации должны быть через sync, потому что просто линкуется к модулю sync, который его вызывает и не имеет собственных данных, настроек, не инициализирует сам никаких действий. Библиотеки виджетов имеют тот же принцип - они расширяют плагины im, а не действуют самостоятельно
- Системные сервисы. В FDO микроядерная архитектура, поэтому любые системные расширения включаются не в ядро, а в modlib: расширенные базовые классы, методы отправки уведомлений, методы логирования (если не в базу, а в файлы логов), методы сохранения сообщений об ошибках, методы отправки уведомлений пользователю.
- Контроллеры для модели MVC: если у нас сложная модель предметной области (например, журнал), задействующая много справочников, нам будет сложно сделать декомпозицию методов справочников, не сформировав слишком много перекрестных зависимостей, но и в im/journal мы не должны класть методы для работы с данными, im занимается только отображением и первичной обработкой форм, поэтому мы выносим контроллер в отдельный modlib/journal или вроде того.
Страницы в категории «Плагины modlibs»
Показано 11 страниц из 11, находящихся в данной категории.