Содержание
- 2. Принципы программирования SOLID KISS YAGNI DRY
- 3. Принципы SOLID S – The Single Responsibility Principle O – The Open-Closed Principle L – The
- 4. The Single Responsibility Principle Принцип единственной ответственности. Любой сложный класс должен быть разбит на несколько простых
- 5. The Single Responsibility Principle Допустим, есть класс, который отвечает за вывод данных пользователю, обработку того, что
- 6. The Open-Closed Principle Принцип Открыт-Закрыт программные сущности (классы, интерфейсы и т.п.) открыты для расширения, но закрыты
- 7. The Open-Closed Principle Интерфейсы в модулях не меняем. Они один раз описаны, какие в них методы,
- 8. The Liskov Substitution Principle Принцип замещения Барбары Лисков для корректной реализации отношения «ЯВЛЯЕТСЯ», наследник может ослаблять
- 9. The Liskov Substitution Principle Поведение наследуемых классов не должно противоречить поведению, заданному базовым классом. Логику работы
- 10. Interface Segregation Principle Принцип разделения интерфейсов что слишком «толстые» интерфейсы необходимо разделять на более маленькие и
- 11. Interface Segregation Principle Следование принципу ISP заключается в создании интерфейсов, которые достаточно специфичны и требуют только
- 12. The Dependency Inversion Principle Принцип инверсии зависимостей Модули верхнего уровня не должны зависеть от модулей нижнего
- 13. The Dependency Inversion Principle При реализации высокоуровневых компонент вместо встраивания зависимостей от конкретных низкоуровневых классов формируется
- 14. KISS (Keep it short and simple) Если вы создаете простое приложение, которое будет использоваться локально на
- 15. YAGNI (You aren't gonna need it) процесс и принцип проектирования ПО, при котором в качестве основной
- 16. DRY (Don’t repeat yourself) «Каждая часть знания должна иметь единственное, непротиворечивое и авторитетное представление в рамках
- 17. Паттерны проектирования Паттернами проектирования – это решения часто встречающихся проблем в области разработки ПО. Паттерны не
- 18. Паттерны проектирования Зачастую, паттерны представляют собой архитектурные решения для разрабатываемого приложения, либо его части. Паттерны могут
- 19. Паттерны проектирования Типы паттернов: Структурные паттерны. Порождающие паттерны. Поведенческие паттерны.
- 20. Структурные паттерны Структурные паттерны предназначены для выстраивания правильной иерархии классов (упрощение создания новых классов, расширение существующих)
- 21. Структурные паттерны Паттерн Adapter Паттерн Bridge Паттерн Composite Паттерн Decorator Паттерн Facade Паттерн Flyweight Паттерн Proxy
- 22. Паттерн Adapter Паттерн Adapter – это структурный паттерн проектирования, который позволяет объектам с несовместимыми интерфейсами работать
- 23. Двигаться по дорогам Сигналить Двигаться по рельсам Прикреплять вагоны Гудеть в свисток Паттерн Adapter
- 24. Паттерн Adapter
- 25. Порождающие паттерны Порождающие паттерны проектирования предназначены для создания объектов, позволяя системе оставаться независимой как от самого
- 26. Порождающие паттерны Паттерн Factory Method Паттерн Abstract Factory Паттерн Builder Паттерн Prototype Паттерн Singleton Паттерн Object
- 27. Паттерн Singleton Паттерн Singleton контролирует создание единственного экземпляра некоторого класса и предоставляет доступ к нему.
- 28. Паттерн Singleton Singleton возлагает контроль над созданием единственного объекта на сам класс. Доступ к этому объекту
- 29. Паттерн Singleton
- 30. Паттерны поведения Паттерны поведения рассматривают вопросы о связях между объектами и распределением обязанностей между ними. Для
- 31. Паттерны поведения Паттерн Chain of Responsibility Паттерн Command Паттерн Iterator Паттерн Interpreter Паттерн Mediator Паттерн Memento
- 32. Паттерн Chain of Responsibility Паттерн Chain of Responsibility – это поведенческий паттерн проектирования, который позволяет передавать
- 33. Паттерн Chain of Responsibility
- 34. Паттерн Chain of Responsibility
- 35. Паттерн Chain of Responsibility
- 36. Модули (подсистемы) В крупных проектах функционал разрабатываемого приложения часто разбивают на модули для упрощения ввода новых
- 37. Выделение модулей в системе кафедрального портала Расписание Безопасность Учебный год Экзамены Базовая часть
- 38. Модули (подсистемы) Модули выделяют в отдельные проекты-библиотеки, чтобы их можно было просто подключать и использовать в
- 39. Библиотеки Совокупность классов, интерфейсов и т.п., которые собираются в единый файл-библиотеку с расширением *.dll В дальнейшем
- 40. Модификатор internal класс и члены класса с подобным модификатором доступны из любого места кода в той
- 41. Библиотеки Файл с расширением *.dll не является исполняемым. Это значит, что его нельзя запустить на выполнение,
- 42. Современные проекты ПРОЕКТ ПРОЕКТ ХРАНЕНИЕ ДАННЫХ БИЗНЕС-ЛОГИКА ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ
- 43. Все меняется IT среда очень быстро меняется, каждый день появляются новые инструменты обработки, хранения, передачи данных,
- 44. Концепция DAL Самым узким местом в данном случае является работа с хранилищем данных: Появится иной способ
- 45. Концепция DAL Концепция обеспечивает возможность смены Хранилища данных без изменения бизнес-логики проекта. В основе концепции заложен
- 46. Концепция DAL Предлагается создавать интерфейсы, в которых описывать методы работы с данными в хранилище. При этом
- 47. Концепция DAL ИСПОЛНЯЕМОЕ ПРИЛОЖЕНИЕ ХРАНИЛИЩЕ
- 48. Концепция DAL БИЗНЕС-ЛОГИКА BINDING MODELS ИСПОЛНЯЕМОЕ ПРИЛОЖЕНИЕ VIEW MODELS Ввод данных Просмотр данных
- 49. Inversion of Control Инверсия управления – важный принцип ООП, используемый для уменьшения связанности классов. IoC –
- 50. Dependency injection Внедрение зависимости – процесс предоставления внешней зависимости программному компоненту. Является специфичной формой «инверсии управления»,
- 51. IoC-контейнер это библиотека, фреймворк, которая позволит упростить и автоматизировать написание кода с использованием данного подхода на
- 52. IoC-контейнер Основная проблема – это new(). Для грамотного контроля зависимостей и тестирования, его нужно убрать. IoC
- 53. IoC-контейнер DI позволяет автоматически вытянуть из контейнера нужные зависимости при инициализации.
- 54. IoC-контейнер Ninject Unity Autofac Castle Windsor
- 55. IoC-контейнер 1. Настройка IoC-контейнера. Указание абстракций и какие реализации вместо них подставлять
- 57. Скачать презентацию