Форум программистов, компьютерный форум, киберфорум
Наши страницы
Xander Bass
Войти
Регистрация
Восстановить пароль
Оценить эту запись

Один или матрёшка

Запись от Xander Bass размещена 06.09.2015 в 13:54
Обновил(-а) Xander Bass 06.09.2015 в 13:58

Доброго всем здравия!

Наверное, надобно на этом месте поведать о долгом и нудном процессе разработки... Точнее как я дошёл до такой жизни. Но в лом.

Мой любимый движок MODx славится тем, что у него абсолютно всё впихнули в один класс. Не пробовали, кстати, рефакторить оный? Попробуйте, та ещё задачка, даже с хорошей IDE. Исходя из этих соображений я решил сделать основной класс своей CMS контейнером для объектов, каждый из которых реализует строго ту функциональность, за которую отвечает. Ну, условно. Понятное дело, что DBAPI используется почти всеми объектами через ссылку на owner-контейнер.

Что в итоге получается. А получается вот что. У нас есть контейнер, вмещающий в себя DBAPI, систему кеширования, парсер, таблицу событий, сессию, таблицу модулей и отдельно модуль текущего юзера. Система кеширования в свою очередь вмещает в себя таблицу обработчиков для каждого пути кеша. Каждый элемент таблицы модулей, соответственно, является объектом. Получается матрёшка непонятного уровня вложенности. ЗАТО! Для того, чтобы добавить в систему кеширования тот или иной путь, достаточно просто написать небольшой класс для конкретного пути (допустим system/settings). Оно автоматически прогрузится. Итого имеем:

- В случае одного класса плюсом является немного меньший расход ОЗУ
- В случае "матрёшки" плюсом является большая расширяемость.

Как-то так =)
Размещено в Разработка CMS
Просмотров 300 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru