Репортаж с объектов - PullRequest
       4

Репортаж с объектов

0 голосов
/ 28 февраля 2012

У меня есть тесно связанное приложение, которое я переписываю. Модель данных хранится в библиотеке классов, в настоящее время все объекты доступны как открытые. Есть несколько компонентов пользовательского интерфейса, которые работают с различными объектами. В главном окне есть процедура для генерации отчета путем циклического просмотра базовых классов, хранящихся в модели, и добавления соответствующих страниц в зависимости от типа объекта.

Мое намерение - реализовать фабричный шаблон, чтобы пользовательский интерфейс знал только об интерфейсе. Затем я буду хранить объекты в модели как частные. Но это означает, что я должен выдвигать отчеты в модель и предоставлять метод GetPages () в интерфейсе для составления отчета. Каждый конкретный объект будет предоставлять свою часть отчета.

Я бы предпочел, чтобы модель не знала, как об этом сообщают. Как я могу это сделать?

1 Ответ

1 голос
/ 28 февраля 2012

Вы можете следовать правилам DDD / обмена сообщениями / потоком событий и создавать любые возможные отчеты из потока событий, создаваемого моделью вашего домена.Это полностью исключает связь между вашей моделью и системой отчетности.Я бы предложил это как способ.

В противном случае вам придется подвергать свой объект чему-то, что знает, как создавать отчеты.Я не сделал бы это обязанностью пользовательского интерфейса.Вы можете создать дополнительную логику (службу приложений?), Которая будет «посещать» вашу модель и генерировать некоторые данные, которые пользовательский интерфейс может использовать для создания отчетов.Но вы понимаете, что в этом случае у вас всегда будет связь между вашей моделью и чем-то, что находится сверху и запрашивает ее для целей отчетности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...