Re[2]: Фаулер: модуль таблицы
От: mife  
Дата: 05.10.04 22:27
Оценка:
Здравствуйте, Nuald, Вы писали:

N>Модуль таблицы в простейшем случае — просто массив данных, к которому можно обращаться через какие-либо итераторы, где каждая итерация возвращает строку (а строка уже может собой представлять либо объект наподобие активной записи, либо просто набор значений в виде еще одного массива).


То что Вы написали — это RecordSet (в терминологии Фаулера), а не модуль таблицы

M>>Можно завести для каждой таблицы базы модуль, но кто в таком случае будет проводить вычисления C?


N>За это отвечает модуль бизнес-логики — он может быть промежуточным между модулем таблицы и представлением (паттерн Преобразователь данных).


Нет уж, извините, опять же, по Фаулеру, модуль таблицы как раз и реализует бизнес-логику.
По моему Вы путаете то что Фаулер называет шлюзом таблицы и модулем таблицы. Это (в идеале) разные вещи. Т.к. пример простой, можно считать что у нас — идеальный случай.

N>Модуль таблицы — лишь часть системы. Рассмотрите систему в контексте MVC:

N>1) Model — модуль таблицы + преобразователь данных;
N>2) View — осуществляет представление данных, отвечает за все форматирование;
N>3) Controller — осуществляет взаимодействие между моделью и представлением.

Один из критериев (опять же, приводимих Фаулером) того, относить что-то к уровню представления или нет, состоит в том, что при замене уровня представления с GUI/web на простой консольный вывод, вам не придется дублировать код. Если отнести форматирование к View, вам придется продублировать его в новом консольном слое представления.
Врочем, мне самому кажется этот момент несколько натянутым.
Предположим поэтому, что то что я назвал форматированием — в действительности сложная обработка, относящаяся к бизнес-логике.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.