Вы должны быть готовы обратить внимание на несколько улучшений.
• Схема взаимодействия классов изображенная намного более проста и удобна для чтения, что указывает на усовершенствование, к которому приводит расцепление классов.
• Расцепляя интерфейс модели от основной структуры базы данных, мы уменьшаем и упрощаем код контроллера.
Если вам нужны услуги детской фотостудии и профессиональные детские фотографии, смотрите здесь: http://www.littlefoto.ru.
• Каждый класс модели создает объекты, чтобы взаимодействовать с одной или более таблицами. Контроллерам нет необходимости знать, какие таблицы участвуют в этом взаимодействии.
• Классы моделей инкапсулируют и скрывают запросы к базе данных. Контроллер заинтересован только в поиске пользовательских вводов и выводов задач более высокого уровня через API-интерфейс модели.
• В некоторых случаях запрос может быть слишком сложным, чтобы легко пройти через взаимодействие с DAO-объектом, в связи с чем требуется написание пользовательского SQL-кода.
В идеале нужно суметь протестировать модель, не подключаясь к оперативной базе данных. Если вы расцепляете модель от ее DAO-объекта, то вы можете создать заглушки и фиктивные DAO-объекты, чтобы содействовать поблочному тестированию вашей модели.
Аналогично вы можете тестировать интерфейс модели домена точно так же, как в любом другом объектноориентированном тестировании: вызовите метод объекта, а затем проверьте корректность возвращаемого методом значения. Это быстрее и проще, чем создание ложных HTTP-запросов, полагаясь на контроллер и парсинг результирующего ответа HTTP-протокола.
Опубликовал vovan666
August 26 2013 12:30:52 ·
0 Комментариев ·
4537 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.