Шаблон проектирования для ввода данных с помощью LINQ2SQL - PullRequest
0 голосов
/ 22 апреля 2010

Я собираюсь запустить новое приложение ввода данных winforms, у него уже есть база данных, с которой мне удобно.

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

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

Есть что-нибудь хорошее по этому поводу? Должен ли я рассмотреть структуру сущностей (или аналогичную) вместо этого?

Ответы [ 2 ]

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

Поместите linq2sql на уровень доступа к данным, который содержит всю бизнес-логику и доступен для уровня выше. Linq2sql использует объекты модели домена (табличные объекты), которые строго типизированы, и вам просто нужно передать данные, помещенные в объект домена, на вышеприведенный уровень. И вы можете получить доступ ко всем полям в объекте.

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

Принцип, который вы ищете, - это, вероятно, разделение проблем, которое вы можете использовать, используя шаблон репозитория, слой бизнес-логики (может включать несколько шаблонов) и поддерживая пользовательский интерфейс, не делая ничего, кроме представления информации (то есть никакой бизнес-логики там) , Шаблоны MVC, MVP, MVVM - все это будет хорошей отправной точкой.

Хорошее чтение? Любая книга шаблонов проектирования программного обеспечения, но есть два канонических: Шаблоны проектирования GoF: элементы многоразового объектно-ориентированного программного обеспечения и Шаблоны корпоративной архитектуры приложений Мартина Фаулера - хорошее начало.

...