Object oriented reality

Post on 15-Jun-2015

1.177 views 1 download

Tags:

description

By Dmytro Ivanov, SoftServe, Jan 2011

Transcript of Object oriented reality

Чому ОоП?

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

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

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

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

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

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

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