Содержание
- 2. Меня хорошо слышно && видно?
- 3. Шаблоны проектирования Александр Пряхин
- 4. Цель занятия Обсудить историю возникновения паттернов Рассмотреть подробно несколько примеров Поговорить про антипаттерныы
- 5. История развития паттернов 01
- 6. Первые паттерны
- 7. Паттерны Архитектурные Дизайн Идиомы
- 8. GoF
- 9. Паттерны проектирования
- 10. Для чего нужны паттерны Проверенные решения Стандартизация кода Общий словарь (коммуникация)
- 11. Для чего не нужны паттерны Паттерны – не серебряная пуля Не стоит пытаться втиснуть паттерны в
- 12. Паттерны 02
- 13. GRASP Информационный эксперт Low coupling and high cohesion Устойчивость к изменениям
- 14. Архитектура
- 15. Куда поместить логику?
- 16. Толстый клиент + не так страшен обрыв связи с сервером - высокие требования к производительности и
- 17. Тонкий клиент + клиент простой, легкий и нетребовательный к ресурсам - высокие требования к серверу и
- 18. Клиент-сервер трехзвенный
- 19. Преимущества
- 20. MVC
- 21. MVC: active vs passive Passive Контроллер становится раздутым и монолитным монстром Завязка на фреймворк → ухудшение
- 22. HMVC
- 23. MVVM
- 24. PageController Единая точка доступа Характерная часть реализации MVC
- 25. Классификация (по GoF) Порождающие Структурные Поведенческие https://github.com/kamranahmedse/design-patterns-for-humans/blob/master/README.md
- 26. Строитель
- 27. Синглтон
- 28. Фабричный метод
- 29. Адаптер
- 30. Шаблонный метод
- 31. И еще немного Итератор Стратегия Наблюдатель ActiveRecord vs Repository
- 32. Антипаттерны 03
- 33. Copy and Paste Programming Решение: Отдельный репозиторий и использование его в качестве внешних зависимостей Вынесение кода
- 34. Spaghetti code Решение Статические анализаторы Код-ревью Рефакторинг
- 35. God object Решение Использовать принципы разработки SRP и другие Рефакторинг
- 36. И еще Магические числа Hardcoding Сохранение части кода на будущее Изобретение колеса
- 38. Скачать презентацию