Шаблон проектирования для простого приложения, управляемого данными CRUD - PullRequest
2 голосов
/ 28 июля 2010

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

Ответы [ 3 ]

1 голос
/ 29 июля 2010

+ 1 Одед.Без обид RKP, но вы можете путать «простой» с «эффективным» или «соотношение цены и качества».Я также думаю, что вы, возможно, захотите получить более четкое представление о том, что именно вы ищете: пример дизайна пользовательского интерфейса - это совсем не то, что логическая архитектура.В любом случае - хорошо, что вы спрашиваете.

Если это «тактическое» решение: ожидается, что он не будет иметь большой жизненный цикл, или это инструмент для быстрой и грязной разработки, то как вы его построите, может и не бытьбыть такой большой проблемой.(также имейте в виду, что краткосрочные тактические приложения могут в конечном итоге стать долгосрочными стратегическими - работали над приложением теперь, когда бизнес рассматривает его как «временный» инструмент: они видят, что оно используется только в течение следующих 5-10 лет(!)).

Если это инструмент, который будут использовать «бизнес-пользователи», то вполне вероятно, что они будут ожидать изменений со временем: в зависимости от того, какое приложение предназначено для простого сквозного приложения CRUD, может быть толькопорезать горчицу ненадолго.

Так что, я думаю, именно здесь приходит ваше замечательное желание взглянуть на лучшие практики. Вы знакомы с ОО-дизайном?Многие принципы, лежащие в основе хорошего дизайна ОО, также применимы на архитектурном уровне ( SOLID , Общее повторное использование , Общее замыкание , Свободное соединение , Стабильные зависимости и Стабильная абстракция Принципы).

позволяет сказать, что в будущем будет добавлен любой дополнительный пользовательский интерфейс / бизнес-логика

Итак, именно здесь вам нужно заранее рассмотреть вопрос о том, как вы будете разделять проблемы и учитывать рост: архитектура не означает, что вам нужно делать большой предварительный проект, это просто означает, что вам нужно иметь представление о том, как выПриложение будет расти по мере роста требований.

В заключение:

  • Внимательно изучите различные атрибуты качества системы и определите, какие из них особенно актуальны для системы.расставьте приоритеты для них.
  • Я получаю много пользы от Инверсия зависимости (D в SOLID) - абстрагируюсь от таких вещей, как доступ к данным на ранней стадии.
  • Для меняДругая действительно ключевая «лучшая практика» - обратить внимание на SRP (S в SOLID),
1 голос
/ 28 июля 2010

Если вы ищете действительно быстрый и простой подход, вы можете посмотреть на использование динамических данных http://www.asp.net/dynamicdata поверх бэкэнда Linq2SQL или EF4 - практически никакого кода не требуется.

0 голосов
/ 28 июля 2010

http://www.asp.net/mvc - моя ставка. Это легко начать и начать ... Вы не будете разочарованы. :) Сам StackOverflow построен поверх него.

...