Какой шаблон использовать в этом сценарии? - PullRequest
0 голосов
/ 09 апреля 2010

У нас есть много форм (приложение Windows C #) в нашем приложении. У нас есть похожие шаги в большинстве из них - пользователь добавляет новый объект (в сетке), заполняет значения и сохраняет.сохранить, если все в порядке, иначе показать сообщение. Теперь добавление объекта обычно означает, что мы добавляем новую строку с некоторыми значениями по умолчанию.

Ответы [ 2 ]

1 голос
/ 09 апреля 2010

Ваш вопрос очень широкий, поэтому я отвечу столь же широким ответом:

Вы должны использовать шаблон, такой как MVC или MVVM . Возможно, вы захотите добавить некоторые понятия из DDD , такие как шаблон хранилища.

0 голосов
/ 09 апреля 2010

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

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

Опять же, если это действительно приложение для ввода данных, зачем вообще делать это в Windows Forms? Соедините его с базой данных Access и сделайте это в десятой части времени.

С другой стороны, если у вас есть фактический домен, тогда ваше приложение - это не просто набор форм, не так ли? Формы - это всего лишь способ выдачи команд для домена - и это реальный смысл того, что вы были наняты для работы. В этом случае вы должны пойти прочитать большую синюю книгу .

Итак ... да. * * 1013

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