Модель, бизнес-правила и постоянство

У меня проблемы с поиском наилучшего подхода для определенного приложения. Я не очень привык к более новым архитектурам, которые заменили старую TLA (трехуровневую архитектуру), так вот откуда я пришел.

При проектировании Model и DAL для моего заявления (классы POCO, правильно ??) я получил следующие сомнения:

  1. Должны ли мои классы Model только предоставлять свойства и реализовывать проверки правил? Несколько лет назад я реализовал классы, аналогичные реальному миру, поэтому, если бы у меня был Person , который мог бы Прогулка , я бы создал такой метод. Теперь каждый проверяемый образец (MVC, MVVM и т. Д.) Имеет «тупые классы», которые предоставляют данные и, при необходимости, проверяют эти данные. Как насчет сложных операций? Должны ли они каким-то образом стать частью ВМ (сомневаюсь, что это правильно ...).

  2. При использовании LINQ to SQL в качестве преобразователя ORM, следует ли мне раскрывать в модели все атрибуты сущности? Например, большинство моих сущностей имеют столбец идентификатора в качестве своего первичного ключа. Это не должно волновать модель или бизнес, а только подробности реализации моей схемы базы данных.

  3. Если (1) и (2) ложны, поэтому Модель должна представлять сложные операции над классами, и не все атрибуты сущностей должны быть представлены, как мне создать классы Модели, используя LINQ to SQL и sqlmetal? Я видел несколько примеров которые используют частичные классы для расширения функциональности сущностей схемы, но это приведет к раскрытию деталей сущности (поскольку это просто расширение).

  4. Если (2) имеет значение false, каков наиболее правильный способ использования sqlmetal и LINQ как ORM? Я использую sqlmetal для извлечения схемы, LINQ для выбора сущностей и что дальше? Создавать новые объекты на основе того, что у меня есть в базе данных?

  5. В своих исследованиях я обнаружил, что VM из MVVM и P из MVP несколько похожи. Каковы обязанности докладчика ? А те из ViewModel ? I ' Я сосредоточен на этих двух шаблонах, потому что они полностью изолируют представление от модели, аспект, который я предпочитаю.

  6. Каковы некоторые методологии при разработке таких приложений [MVVM, MVP]? Должен ли я начать думать о модели, затем слой {P, VM}, затем вид? Это более субъективный вопрос, я знаю, но примеры были бы хорошими. 1257 Я надеюсь, что смог сделать вопросы достаточно объективными. Я добавил объяснения к своим сомнениям, чтобы упростить ответ, но боюсь, что это сделало сообщение немного большим. В любом случае, большое спасибо за чтение, любые предложения приветствуются.

6
задан bmargulies 3 April 2014 в 17:00
поделиться