Курс. NETХорошая книга Приемы объектно-ориентированного проектирования. Паттерны проектирования
Курс .NET
Хорошая книга Приемы объектно-ориентированного проектирования. Паттерны проектирования Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж.
Хорошая книга Deadline. Роман об управлении проектами Демарко Том.
Орг. вопросы Включить камеру Отметить присутствующих След. Занятие – 23 июля (вторник)
Дом. задание Реализовать приложение для CRUD с бизнес-объектами
MVC Реализация стандартного набора операций над сущностями
Суть проблемы Пусть есть почтовый адрес, у которого есть индекс и строка Надо реализовать стандартный набор операций над ними
MVC_Sections
Суть проблемы Почти все находится на каком-либо из Layout-ов На каждой страницу может быть что-то уникальное, и это уникальное должно быть выведено на Layout Возникает вопрос – как ? Классический пример – подключение JS скриптов Следствие 1 – секция может быть обязательной и не обязательной
Суть решения - секции Секция – некий аналог вставки текста, который будет взят из той страницы, которая находится на Layout Пример -Index1, Index2, Index3 – третий не работает, потому что не объявлена секция обязательная
@RenderBody @RenderBody вызывает прорисовку содержимого текущего view
Чуть более сложная вещь Можно определить, была ли определена секция для того, что бы сделать некоторое «значение по умолчанию» IsSectionDefined – проверяет, что секция была определена Index1, Index2 – примеры определенной и не определенной секции
Где реально используются секции? JS скрипты CSS стили Меню В большинстве все же используется Partial, но скрипты есть везде – поэтому и секции используются везде.
MVC Небольшое углубление в MVC
Что делать, если у формы должно быть несколько кнопок подтверждения? 1) Мы можем сделать несколько input в типом submit 2) В любом случае у формы есть только один метод, который вызовется при нажатии на кнопку. 3)пользователь нажимает на кнопку в браузере. 4) Если пользователь нормальный, то у него включен JS 5) Все данные (а вернее свойства модели) получаются в MVC
Следствие Через JS можно отметить нажатие кнопки (вернее срабатывание). По тому, какая кнопка нажата можно установить на форме значение скрытого поля После установки можно «ручками» вызвать submit При желании через JS можно изменить атрибут у формы action
Пример решения
Основы MVC Испльзование Ajax
Суть всего web-программирования Суть любого действия в web тыкнули куда-то Послался запрос на сервер В это время клиент ждет Получили ответ от сервера Обновили информацию на странице
Проблема А что будет, если или сервер долго обрабатывает запрос или канал медленный? Пользователь может нажать кнопку дважды
А если это кнопка списания денег с карточки?
Суть решения У любой формы есть кнопка submit На её нажатие, если форма валидна, нужно её заблокировать Не надо путать клиентскую и серверную валидацию Решение – в скприпте, который подключается на главной форме
Пример стандартных действий над списком В прилагаемом проекте рассмотрен стандартный набор действий
Соотнесение объектов БД и их моделей
Суть проблемы Если модель, которая нам пришла в контроллер Надо из модели обновить БД. Тогда 90% кода будет БД.f1 = Модель.f1 БД.f2 = Модель.f2 БД.fN = Модель.fN Если объект БД расширится, то надо не забыть расширить набор присвоений Хочется счастья
Суть решения Пусть стандартом наименования модели будет то, что имя модели добуквенно совпадает со свойством объекта БД Задача: написать что-нибудь, что позволит копировать свойства записи в модель и обратно.
Полнотекстовый поиск Сфинкс Люцина
all_2013_07_16.ppt
- Количество слайдов: 27