2011-01-06 3 views
2

В настоящее время я работаю над приложением отчетов ASP.NET MVC с использованием C#. Это редизайн из приложения PHP, которое только что было изначально скомпоновано, и теперь начинает получать больше тяги. Таким образом, мы находимся в процессе переработки бэкэнда, чтобы иметь более OO-подход. Одним из решений, с которыми я в настоящее время борюсь, является структура объектов домена. Поскольку 95% сайта доступно только для чтения, я не уверен, что типичные подходы практичны.Выбор модели объектной модели

Должен ли я создавать объекты домена для основных частей приложения (билет, назначение, правопреемник), а затем создавать статические методы из этих областей, чтобы извлекать данные отчетности? Или я просто пропущу эту часть и создаю классы данных диаграммы, и у меня есть какой-то метод get? Это не очень большое приложение, и в настоящее время я единственный, кто его разрабатывает. Но я чувствую себя порванным относительно того, какой подход принять. Я считаю, что первый из них - лучший выбор, но может быть чрезмерным, учитывая, что большинство применений предназначено для совокупной отчетности.

Есть ли у кого-нибудь хорошее представление о том, почему я должен идти так или иначе?

+0

был PHP OO? Какое развитие он увидит в будущем? Также см. Http://stackoverflow.com/questions/246808/when-is-object-oriented-not-the-correct-solution –

+1

Нет, это не было ни в каком смысле слова 00. Это было зверство. Просто куча строковых манипуляций. – spinon

ответ

1

Подход, который я хотел бы сделать, - это сначала нарисовать концептуальную модель проблемной области. Мой предпочтительный метод: Object Role Modelling, но есть другие, например. моделирование отношений сущностей.

Я бы тогда получил мою объектную модель из этой концептуальной модели. Поведение, определяемое предметной областью, должно быть добавлено к объектам в этой модели, например. добавив книгу в книжный магазин, снимая деньги со счета.

Другие виды поведения, например. сохраняя данные в базе данных, которые, в конечном счете, пользователь не заботится изолированно, должны быть добавлены к соответствующим объектам, созданным для этих целей, например. a unit of work, который будет формировать уровень доступа к данным (DAL).

Модель в вашем проекте MVC в этом случае будет состоять из объектов домена, дополненных DAL, и должна естественным образом создавать ваши требуемые представления и контроллеры.

Смежные вопросы