Здравствуйте, mife, Вы писали:
M>Я читаю книжку Фаулера. Я не использую в своей работе .NET, и поэтому плохо чувствую такую фичу как DataSet; между тем, все объяснения паттерна "Модуль таблицы" основаны на нем. Я приведу конкретную, весьмя простую задачу, и хотел бы обсудить, какие могут быть решения этой задачи использующие модуль таблицы.
Модуль таблицы в простейшем случае — просто массив данных, к которому можно обращаться через какие-либо итераторы, где каждая итерация возвращает строку (а строка уже может собой представлять либо объект наподобие активной записи, либо просто набор значений в виде еще одного массива).
M>Можно завести для каждой таблицы базы модуль, но кто в таком случае будет проводить вычисления C?
За это отвечает модуль бизнес-логики — он может быть промежуточным между модулем таблицы и представлением (паттерн Преобразователь данных).
M>Пример простой, и понятно что в этом случае ничего страшного не случится, все это можно так или иначе сделать.
M>Однако Фаулер назвает это типовым решением, а я как мне кажется привел очень простую и очень типовую задачу.
M>Так что либо я чего то-туплю/недопонял (что вероятно), либо модуль таблицы — не типовое решение.
M>
Модуль таблицы — лишь часть системы. Рассмотрите систему в контексте MVC:
1) Model — модуль таблицы + преобразователь данных;
2) View — осуществляет представление данных, отвечает за все форматирование;
3) Controller — осуществляет взаимодействие между моделью и представлением.