Библиотека классов C # и отчетность - PullRequest
1 голос
/ 14 марта 2011

Я строю большую систему, которую я разделил на три уровня: пользовательский интерфейс, библиотека классов и база данных.База данных хранит только все данные, а Class-Library предоставляет все функциональные возможности и бизнес-логику.А пользовательский интерфейс - это пользовательский интерфейс.

Проблема, с которой я сталкиваюсь: как интегрировать отчетность в этой ситуации.Я использую C # для библиотеки классов и Windows-форм-в-C # для пользовательского интерфейса.Я намерен использовать отчеты Microsoft rdlc.

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

1 Ответ

3 голосов
/ 14 марта 2011

Мне кажется, что отчеты - это просто еще один пользовательский интерфейс.Ваша бизнес-логика для того, какие данные возвращать для данного отчета, должна находиться в библиотеке классов.Бизнес-объекты отчетов, вероятно, будут жить в собственном пространстве имен (Appname.Reporting).Я думаю, что у меня был бы абстрактный класс отчета, который предоставляет скелет для большинства свойств и методов, которые понадобятся отчету, и подкласс этого скелета для каждого отдельного отчета.Таким образом, по одному классу на отчет, но все они получены из универсального класса.

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