Читаем Язык программирования C#9 и платформа .NET5 полностью

Верите или нет, но вы только что закончили построение первого WPF-приложения MWM. Вы можете подумать: "Это не реалистичное приложение. Как насчет данных? Данные в примере жестко закодированы". И вы будете совершенно правы. Это не реальное приложение, а лишь демонстрация. Однако в ней легко оценить всю прелесть паттерна MWM. Представлению ничего не известно о том, откуда поступают данные; оно просто привязывается к свойству модели представления. Реализации модели представления можно менять, скажем, использовать версию с жестко закодированными данными во время тестирования и версию, обращающуюся к базе данных, в производственной среде.

Можно было бы обсудить еще немало вопросов, в том числе разнообразные инфраструктуры с открытым кодом, паттерн "Локатор модели представления" (View Model Locator) и множество разных мнений на предмет того, как лучше реализовывать паттерн MWM. В том и заключается достоинство паттернов проектирования программного обеспечения — обычно существует много правильных способов их реализации, и вам необходимо лишь отыскать стиль, который наилучшим образом подходит к имеющимся требованиям.

<p id="AutBody_Root1309"><strong>Обновление проекта AutoLot.Dal для MWM</strong></p>

Если вы хотите обновить проект AutoLot.Dal для MWM, то должны применить изменения, которые вносились в Car, ко всем сущностям в проекте AutoLot.Dal.Models, включая BaseEntity.

<p id="AutBody_Root1310"><strong>Резюме</strong></p>

В главе рассматривались аспекты WPF, относящиеся к поддержке паттерна MWM. Сначала было показано, каким образом связывать классы моделей и коллекции с помощью системы уведомлений в диспетчере привязки. Демонстрировалась реализация интерфейса INotifyPropertyChanged и применение классов наблюдаемых коллекций для обеспечения синхронизации пользовательского интерфейса и связанных с ним данных.

Вы научились добавлять код проверки достоверности к модели с применением интерфейсов IDataErrorInfo и INotifyDataErrorInfо, а также проверять наличие ошибок, основанных на аннотациях данных. Было показано, как отображать обнаруженные ошибки проверки достоверности в пользовательском интерфейсе, чтобы пользователь знал о проблеме и мог ее устранить. Вдобавок был создан стиль и специальный шаблон элементов управления для визуализации ошибок более эффективным способом.

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

<p id="AutBody_Root1311"><strong>Часть IX</strong></p><p><strong>ASP.NET Core</strong></p><p id="AutBody_Root1312"><strong>Глава 29</strong></p><p><strong>Введение в ASP.NET Core</strong></p>

В финальной части книги рассматривается ASP.NET Core — последняя версия инфраструктуры для разработки веб-приложений, которая использует C# и .NET Core. В этой главе предлагается введение в инфраструктуру ASP.NET Core и раскрываются ее отличия от предыдущей версии, т.е. ASP.NET.

После ознакомления с основами паттерна "модель-представление-контроллер" (Model-View-Controller — MVC), реализованного в ASP.NET Core, вы приступите к построению двух приложений, которые будут работать вместе. Первое приложение, REST-служба ASP.NET Core, будет закончено в главе 30. Вторым приложением является веб-приложение ASP.NET Core, созданное с применением паттерна MVC, которое будет завершено в главе 31. Уровнем доступа к данным для обоих приложений послужат проекты AutoLot.Dal и AutoLot.Models, которые вы создали в главе 23.

<p id="AutBody_Root1313"><strong>Краткий экскурс в прошлое</strong></p>

Выпуск инфраструктуры ASP.NET MVC в 2007 году принес большой успех компании Microsoft. Инфраструктура базировалась на паттерне MVC и стала ответом разработчикам, разочарованным API-интерфейсом Web Forms, который по существу был ненадежной абстракцией поверх HTTP. Инфраструктура Web Forms проектировалась для того, чтобы помочь разработчикам клиент-серверных приложений перейти к созданию веб-приложений, и в этом отношении она была довольно успешной. Однако по мере того, как разработчики все больше и больше привыкали к процессу разработки веб-приложений, многим из них хотелось иметь более высокую степень контроля над визуализируемым выводом, избавиться от состояния представления и ближе придерживаться проверенных паттернов проектирования для веб- приложений. С учетом указанных целей и создавалась инфраструктура ASP.NET MVC.

<p id="AutBody_Root1314"><strong>Введение в паттерн MVC</strong></p>

Паттерн "модель-представление-контроллер" (Model-View-Controller — MVC) появился в 1970-х годах, будучи первоначально созданным для использования в Smalltalk. Относительно недавно его популярность возросла, в результате чего стали доступными реализации в различных языках, в том числе Java (Spring Framework), Ruby (Ruby on Rails) и .NET (ASP.NET MVC).

<p id="AutBody_Root1315"><strong>Модель</strong></p>
Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT