Object oriented reality

23
Чому ОоП? Об’єктно-Оріентована Реальність 2 Що таке ОоП? Як використовувати ОоП? Що є далі за ОоП? 1 3 4 By DIvanov, SoftServe, Jan 2011

description

By Dmytro Ivanov, SoftServe, Jan 2011

Transcript of Object oriented reality

Page 1: Object oriented reality

Чому ОоП?

Об’єктно-Оріентована Реальність

2 Що таке ОоП?

Як використовувати ОоП?

Що є далі за ОоП?

1

3

4

By DIvanov, SoftServe, Jan 2011

Page 2: Object oriented reality

Чому ОоП?

2

1

1 3 4

Розробляючи програмне забезпечення ми намагаємося змоделювати реальність - МИ МИСЛИМО РЕАЛЬНИМИ ОБ’ЄКТАМИ.В ОоП – також

Page 3: Object oriented reality

Чому ООП?

2

1

1 3 4

В реальному житті ми не цікавимося, що має об’єкт в середині, коли ми його використовуємо – МИ ЙОГО ПРОСТО ВИКОРИСТОВУЄМО.В ОоП – також

Page 5: Object oriented reality

Чому ООП?

2

1

1 3 4

В реальному житті, коли ми використали об’єкт - МИ УТИЛІЗУЄМО ЙОГО.В ОоП – також

Page 6: Object oriented reality

Чому ООП?

2

1

1 3 4

В реальному житті ми будуємо речення - БАЗУЮЧИСЬ НА ОСНОВНИХ ПРИНЦИПАХ ОоП.В ОоП – також ;)

І смеркає, і світає, День божий минає,

І знову люд потомлений І все спочиває.

(Т. Г. Шевченко)

METHODS

ATTRIBUTES

OBJECTS

Page 7: Object oriented reality

Що таке ОоП?

2

2

1 3 4

Об’єктно-орієнтоване Програмування (ОоП) – це модель розробки ПЗ, яка сфокусована швидше на ОБ’ЄКТИ, ніж на ПОДІЇ, і на ДАНІ, ніж на ЛОГІКУ.

Page 8: Object oriented reality

Що таке ОоП?

2

2

1 3 4

Основні принципи

ОоПАбстракція

Інкапсуляція

Наслідування

Поліморфізм

Абстракція - спосіб та метод відокремлення деталей з метою отримання можливості зосередитись на найважливіших особливостях об'єкта.

АВТО4 колеса; кермо; кузов; двері; двигун ...

Інкапсуляція – приховування від зовнішнього користувача деталей реалізації об'єкту, замість цього надаючи інтерфейс взаємодії

АВТО

Поліморфізм – є здатність екземплярів підкласу грати роль об'єктів батьківського класу, завдяки чому екземпляри підкласу можна використовувати там, де використовуються екземляри батьківського класу

Audi Q7

Наслідування – метод утворення нових класів на основі використання вже існуючих

VW Golf

Page 9: Object oriented reality

Як використовувати ОоП?

2

3

1 3 4

OOA (Object Oriented Analysis)

OOD (Object Oriented Design)

OOP (Object Oriented Programming)

Page 10: Object oriented reality

Object Oriented Design

2

3

1 3 4

Design Patterns

Unified Modeling Language

Design Principles

Page 11: Object oriented reality

Unified Modeling Language3

21 3 4

UML - уніфікована мова об'єктно-орієнтованого моделювання:*полегшує та пришвидшує процес проектування (візуалізація)* дозволяє знайти спільну мову між різними учасниками проекту

Page 12: Object oriented reality

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

Page 13: Object oriented reality

Design Patterns3

21 3 4

Design Pattern - об'єктно-орієнтований шаблон:* є зразком вирішення проблеми* відображає відношення між класами та об'єктами* але без вказівки на те, як буде зрештою реалізоване це відношення.

Page 14: Object oriented reality

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

Page 15: Object oriented reality

Design Principles3

21 3 4

Design Principles – це рецепти або основні правила: *які кажуть, як правильно будувати правильні системи*які необхідно використовувати, якщо потрібно написати стабільну та зрозумілу архітектуру.

Page 16: Object oriented reality

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)

Page 17: Object oriented reality

Що є далі за ОоП?4

21 3 4

Page 18: Object oriented reality

Архітектури4

21 3 4

Маленькі системи(application architecture)

Середні системи(distributed

architecture)

Page 19: Object oriented reality

Enterprise Архітектури4

21 3 4

Page 20: Object oriented reality

Інтеграційні Системи4

21 3 4

Page 21: Object oriented reality

Рефакторинг4

21 3 4

Page 22: Object oriented reality

Почитати4

Page 23: Object oriented reality

Питання?4

By DIvanov, SoftServe, Jan 2011