Re[6]: Архитектура портала обмена фотографиями
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 03.07.07 14:34
Оценка:
Здравствуйте, Дм.Григорьев, Вы писали:

ДГ>Чем же это лучше? Ты увеличиваешь сложность на пустом месте, разбивая вполне простой алгоритм скрипта на несколько слоёв, причём сильно связанных.


Сложность никто не увеличивал. Я ее просто перераспределил, вытащив не относящиеся к делу куски из одного модуля в другой. И понятность от этого ничуть не уменьшилась: заменив

$response->rowset('submenu', array('*' => 'attr'))->addDBRowset($db->query(
    "select id, uri, menutitle from {PREFIX}pages where parentid=? order by sortorder", 
    array(0 => $submenuParentId)));

на (PHP не владею, псевдокод)

$response->rowset('submenu', array('*' => 'attr'))->addRow($menuManager->getMenuForParent($submenuParentId));

я сделал только лучше.

ДГ>В итоге ты только запутаешь код.


Как видишь, не запутал. Более того, этот код стало проще поддерживать и тестировать.

ДГ>Или по-твоему, часто возникает потребность менять крохотный кусочек единого алгоритма (текст SQL-запроса) без изменений в остальных частях (PHP-код, в т.ч. обработка result set)?


По-моему, изменение, затрагивающее одну часть системы (например, БД), не должно вызывать каскад изменений в остальных ее частях. А случается это, особенно в случае динамично развивающейся системы, очень и очень часто.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
HgLab: Mercurial Server and Repository Management for Windows
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.