SlideShare a Scribd company logo
OOP и WordPress
Подумаем о будущем проекта
Евгений Котельницкий
WordCamp Kyiv, 2016
Евгений Котельницкий
@yeeevhen
OOP и WordPress. Подумаем о будущем проекта.
● Хотим простоты поддержки
○ низкий порог вхождения;
○ низкая цена изменений;
○ минимум ошибок и сбоев;
● Отсутствие проблем с быстродействием
● Отсутствие уязвимостей
● Хотим повторно использовать код
Наши цели
VS
Зачем ООП?
OOP и WordPress. Подумаем о будущем проекта.
● Как исправить ошибку?
● Где реализован этот блок?
● Зачем тут это?
● Я же не трогал этот модуль?
● Как я перенесу “часть изменений”?
● Как взять часть кода из другого
проекта?
● *** ?
●
???
Что такое ООП?
Осторожно, очевидные вещи
Инкапсуляция
«Объектно-ориентированный анализ и проектирование»
Полиморфизм
OOP и WordPress. Подумаем о будущем проекта.
OOP и WordPress. Подумаем о будущем проекта.
Наследование
OOP и WordPress. Подумаем о будущем проекта.
● Более дорогие разработчики
● Повышенные затраты (на начальном этапе)
● Сложности оптимизации (запросы к БД в
циклах)
● ...
Немного негатива
Нет времени на ООП
Нет времени на ООП
OOP и WordPress. Подумаем о будущем проекта.
www.uml.org
Язык моделирования UML
Диаграммы Классов
OOP и WordPress. Подумаем о будущем проекта.
Отношения в диаграммах Классов
Generalization (наследование)
Implementation (имплементация)
Association (ассоциация)
Aggregation (агрегация)
Composition (композиция)
Dependency (зависимость)
programador.ru/uml-class-diagram-relation/
Классы ядра WordPress
Виджеты // Класс виджета
Виджеты // Регистрация виджета
Виджеты // Регистрация виджета №2
Виджеты // Регистрация виджета №3
Правильный плагин
Requires: 3.9 or higher
Compatible up to: 4.3.6
Last Updated: 12 months ago
Active Installs: 20,000+
Ratings
5 out of 5 stars
https://github.com/scribu/wp-posts-to-posts
https://wordpress.org/plugins/posts-to-posts/
Core Classes
OOP и WordPress. Подумаем о будущем проекта.
OOP и WordPress. Подумаем о будущем проекта.
Admin Classes
OOP и WordPress. Подумаем о будущем проекта.
OOP и WordPress. Подумаем о будущем проекта.
Ещё примеры
CRON
OOP и WordPress. Подумаем о будущем проекта.
DB Abstractions
OOP и WordPress. Подумаем о будущем проекта.
Объектно Ориентированная Архитектура
Пойдём немного дальше
Осторожно, нудная теория
Архитектура ПО - многоуровневая система абстракций.
Качество абстракции
● Зацепление
● Связность
● Полнота
● Достаточность
● Примитивность
Качество классов и объектов, Гради Буч
Качество архитектуры
● Квалификация команды
● Мотивация команды
● Сроки и бюджет
Что влияет на качество
● Прозрачность в целях
● Правильно настроенный процесс
Вопросы?
Спасибо!

More Related Content

PDF
kranonit S01E01 Серёжа Пономарёв: Современный программист 2.1
PDF
kranonit S01E01 Серёжа Пономарёв-Современный программист 2.1
PDF
Гибкие методики разработки. Кто их придумал и почему
PPTX
Путь XP практика
PDF
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
PPTX
Freelance - как быстро начать
PPTX
рекомендации для начала карьерного роста
PPTX
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
kranonit S01E01 Серёжа Пономарёв: Современный программист 2.1
kranonit S01E01 Серёжа Пономарёв-Современный программист 2.1
Гибкие методики разработки. Кто их придумал и почему
Путь XP практика
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
Freelance - как быстро начать
рекомендации для начала карьерного роста
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9

What's hot (19)

PDF
Можно ли обойтись без тестировщиков
PPTX
Что сделать, чтобы сто раз все не переделывать
PDF
Slides
PDF
как инженерные практики помогают экономить бизнесу
PDF
Повышаем и следим за качеством PHP кода
PDF
15 шагов к быстрым сделкам на тендерных площадках
PDF
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
PPTX
автоматизация тестирования огурцом
PPTX
Тестирование как панацея для жизни и развития проекта
PDF
Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»
PDF
Руководство для программистов по устройству на работу в Unigine
PPTX
Хотите драйва? Вам в TDD!
PPTX
PPTX
архитектура крупных Word press сайтов
PPT
«Розробка мобільних додатків від початку створення ТЗ до релізу»
PPTX
Roman Marinsky "Ретроспектива вивчення UI автоматизації"
PDF
Тестируем развитие тестировщика
PPT
Platypus platform ivbit
PPTX
Как мы делаем Banki.ru
Можно ли обойтись без тестировщиков
Что сделать, чтобы сто раз все не переделывать
Slides
как инженерные практики помогают экономить бизнесу
Повышаем и следим за качеством PHP кода
15 шагов к быстрым сделкам на тендерных площадках
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
автоматизация тестирования огурцом
Тестирование как панацея для жизни и развития проекта
Володимир Дем’яненко, «How to become a Test Automation Engineer. My way»
Руководство для программистов по устройству на работу в Unigine
Хотите драйва? Вам в TDD!
архитектура крупных Word press сайтов
«Розробка мобільних додатків від початку створення ТЗ до релізу»
Roman Marinsky "Ретроспектива вивчення UI автоматизації"
Тестируем развитие тестировщика
Platypus platform ivbit
Как мы делаем Banki.ru
Ad

Viewers also liked (7)

PPTX
САМБО для WordPress
PDF
P.S. I love you
PDF
Moving the design process to the browser
PDF
Як я запускаю проекти без програмування на WordPress і скільки це коштує
PDF
Вывод своих плагинов на глобальный рынок: их продвижение, контент-маркетинг, ...
PDF
WordPress is at the core of the advertising revolution — but it’s not perfect
PPTX
Зачем вам нужен BuddyPress?
САМБО для WordPress
P.S. I love you
Moving the design process to the browser
Як я запускаю проекти без програмування на WordPress і скільки це коштує
Вывод своих плагинов на глобальный рынок: их продвижение, контент-маркетинг, ...
WordPress is at the core of the advertising revolution — but it’s not perfect
Зачем вам нужен BuddyPress?
Ad

Similar to OOP и WordPress. Подумаем о будущем проекта. (20)

PDF
Как не сойти с ума при разработке крупных проектов на WordPress
PDF
Архитектура крупных WordPress сайтов
PDF
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0
PDF
Максим Гуртовенко - The future is wild | HappyDev'12
POTX
Как жить в согласии с SOLID?
PDF
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
PDF
Олег Бунин (Онтико) | Менеджмент и бизнес-процессы в разработке highload-прое...
PDF
Автоматизация design patterns и компактный код вместе с PostSharp
PDF
Meet Magento Belarus - Andriy Samilyak
PPT
История проекта, который никогда не падает / Андрей Шетухин
PPTX
Автоматизация design patterns и компактный код вместе с PostSharp
PDF
Benefits of unit-testing and inversion of controll
PPTX
«Особенности Agile-разработки интернет-проектов»
PPTX
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
PDF
Algorithms and programming lecture in ru
PDF
Алгоритмизация и программирование С/С++
PPTX
Лучшие практики на практике
PPTX
Денис Тучин, Проверка гипотез Kanban Method с помощью имитационной модели
PDF
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
PPTX
Денис Тучин - Проверка гипотез Kanban Method с помощью имитационной модели
Как не сойти с ума при разработке крупных проектов на WordPress
Архитектура крупных WordPress сайтов
Рефакторинг и второе рождение проекта на примере Zend Framework 2.0
Максим Гуртовенко - The future is wild | HappyDev'12
Как жить в согласии с SOLID?
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
Олег Бунин (Онтико) | Менеджмент и бизнес-процессы в разработке highload-прое...
Автоматизация design patterns и компактный код вместе с PostSharp
Meet Magento Belarus - Andriy Samilyak
История проекта, который никогда не падает / Андрей Шетухин
Автоматизация design patterns и компактный код вместе с PostSharp
Benefits of unit-testing and inversion of controll
«Особенности Agile-разработки интернет-проектов»
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
Algorithms and programming lecture in ru
Алгоритмизация и программирование С/С++
Лучшие практики на практике
Денис Тучин, Проверка гипотез Kanban Method с помощью имитационной модели
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Денис Тучин - Проверка гипотез Kanban Method с помощью имитационной модели

OOP и WordPress. Подумаем о будущем проекта.