Чому ОоП? Об’єктно-Оріентована Реальність 2 Що таке ОоП? Як використовувати ОоП? Що є далі за ОоП? 1 3 4 By DIvanov, SoftServe, Jan 2011
Jun 15, 2015
Чому ОоП?
Об’єктно-Оріентована Реальність
2 Що таке ОоП?
Як використовувати ОоП?
Що є далі за ОоП?
1
3
4
By DIvanov, SoftServe, Jan 2011
Чому ОоП?
2
1
1 3 4
Розробляючи програмне забезпечення ми намагаємося змоделювати реальність - МИ МИСЛИМО РЕАЛЬНИМИ ОБ’ЄКТАМИ.В ОоП – також
Чому ООП?
2
1
1 3 4
В реальному житті ми не цікавимося, що має об’єкт в середині, коли ми його використовуємо – МИ ЙОГО ПРОСТО ВИКОРИСТОВУЄМО.В ОоП – також
Чому ООП?
2
1
1 3 4
В реальному житті, одна компонента – МОЖЕ БУТИ ПЕРЕВИКОРИСТАНА В РІЗНИХ СИСТЕМАХ.В ОоП – також
Чому ООП?
2
1
1 3 4
В реальному житті, коли ми використали об’єкт - МИ УТИЛІЗУЄМО ЙОГО.В ОоП – також
Чому ООП?
2
1
1 3 4
В реальному житті ми будуємо речення - БАЗУЮЧИСЬ НА ОСНОВНИХ ПРИНЦИПАХ ОоП.В ОоП – також ;)
І смеркає, і світає, День божий минає,
І знову люд потомлений І все спочиває.
(Т. Г. Шевченко)
METHODS
ATTRIBUTES
OBJECTS
Що таке ОоП?
2
2
1 3 4
Об’єктно-орієнтоване Програмування (ОоП) – це модель розробки ПЗ, яка сфокусована швидше на ОБ’ЄКТИ, ніж на ПОДІЇ, і на ДАНІ, ніж на ЛОГІКУ.
Що таке ОоП?
2
2
1 3 4
Основні принципи
ОоПАбстракція
Інкапсуляція
Наслідування
Поліморфізм
Абстракція - спосіб та метод відокремлення деталей з метою отримання можливості зосередитись на найважливіших особливостях об'єкта.
АВТО4 колеса; кермо; кузов; двері; двигун ...
Інкапсуляція – приховування від зовнішнього користувача деталей реалізації об'єкту, замість цього надаючи інтерфейс взаємодії
АВТО
Поліморфізм – є здатність екземплярів підкласу грати роль об'єктів батьківського класу, завдяки чому екземпляри підкласу можна використовувати там, де використовуються екземляри батьківського класу
Audi Q7
Наслідування – метод утворення нових класів на основі використання вже існуючих
VW Golf
Як використовувати ОоП?
2
3
1 3 4
OOA (Object Oriented Analysis)
OOD (Object Oriented Design)
OOP (Object Oriented Programming)
Object Oriented Design
2
3
1 3 4
Design Patterns
Unified Modeling Language
Design Principles
Unified Modeling Language3
21 3 4
UML - уніфікована мова об'єктно-орієнтованого моделювання:*полегшує та пришвидшує процес проектування (візуалізація)* дозволяє знайти спільну мову між різними учасниками проекту
Unified Modeling Language3
21 3 4
Structure diagramsClass diagram Component diagram Deployment diagram Object diagram Package diagram
Behavior diagramsActivity diagram State Machine diagram Use case diagram
Interaction diagramsCommunication diagram Interaction overview diagramSequence diagram Timing diagram
Design Patterns3
21 3 4
Design Pattern - об'єктно-орієнтований шаблон:* є зразком вирішення проблеми* відображає відношення між класами та об'єктами* але без вказівки на те, як буде зрештою реалізоване це відношення.
Design Patterns3
21 3 4
Structural Design PatternsBridge, Adapter, Compositor
Behavioral Design PatternsObserver, Strategy, Command, Visitor
Creational Design PatternsAbstract Factory, Prototype, Clone
System PatternsSingletonDAO, MVC
Design Principles3
21 3 4
Design Principles – це рецепти або основні правила: *які кажуть, як правильно будувати правильні системи*які необхідно використовувати, якщо потрібно написати стабільну та зрозумілу архітектуру.
Design Principles3
21 3 4
Single Responsibility Principle (SRP)
Open Closed Principle (OCP)
Dependency Inversion Principle (DIP)
Interface Segregation Principle (ISP)
Reuse Release Equivalence Principle (REP)
Stable Abstractions Principle (SAP)
Common Closure Principle (CCP)
Common Reuse Principle (CRP)
Acyclic Dependencies Principle (ADP)
Stable Dependencies Principle (SDP)
Liskov Substitution Principle (LSP)
Що є далі за ОоП?4
21 3 4
Архітектури4
21 3 4
Маленькі системи(application architecture)
Середні системи(distributed
architecture)
Enterprise Архітектури4
21 3 4
Інтеграційні Системи4
21 3 4
Рефакторинг4
21 3 4
Почитати4
Питання?4
By DIvanov, SoftServe, Jan 2011