Фаулер: модуль таблицы
От: mife  
Дата: 05.10.04 21:55
Оценка:
Я читаю книжку Фаулера. Я не использую в своей работе .NET, и поэтому плохо чувствую такую фичу как DataSet; между тем, все объяснения паттерна "Модуль таблицы" основаны на нем. Я приведу конкретную, весьмя простую задачу, и хотел бы обсудить, какие могут быть решения этой задачи использующие модуль таблицы.
Пусть имеется база данных с несколькими таблиццами. Есть SQL запрос, соединяющий эти таблицы и возвращающий некую таблицу T. Есть стандартный способ представления табличных данных (RecordSet) и есть технология отображения представленных таким образом данных.
В одной из таблиц имеется поле F (попадающее в T) которое при отображении следует форматировать каким-то определенным образом.
Наша система должна уметь выводить таблицы базы данных, а также отчет, получаемый из T путем каких-то сложных вычислений C, которые (для простоты) не затрагивают поле F.
Можно завести для каждой таблицы базы модуль, но кто в таком случае будет проводить вычисления C?
Можно завести модуль и для таблицы T. Но в таком случае форматированием поля F будет заниматься как модуль T, так и модуль таблицы которая содержит F. Необходимость исключить дублирование кода приведет к появлению каких-то дополнительных классов (модуль поля F, грубо говоря), что явно не укладывается в простую схему, предлагаемую Фаулером.
Пример простой, и понятно что в этом случае ничего страшного не случится, все это можно так или иначе сделать.
Однако Фаулер назвает это типовым решением, а я как мне кажется привел очень простую и очень типовую задачу.
Так что либо я чего то-туплю/недопонял (что вероятно), либо модуль таблицы — не типовое решение.

Прошу прощения за длинный нудный пост.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.