SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Об’єктно-Оріентована Реальність Чому ОоП? 1 2 Що таке ОоП? Як використовувати ОоП? 3 Що є далі за ОоП? 4 By DIvanov, SoftServe, Jan 2011
Чому ОоП? 1 Розробляючи програмне забезпечення ми намагаємося змоделювати реальність - МИ МИСЛИМО РЕАЛЬНИМИ ОБ’ЄКТАМИ. В ОоП – також 2 1 3 4
Чому ООП? 1 В реальному житті ми не цікавимося, що має об’єкт в середині, коли ми його використовуємо – МИ ЙОГО ПРОСТО ВИКОРИСТОВУЄМО. В ОоП – також 2 1 3 4
Чому ООП? 1 В реальному житті, одна компонента – МОЖЕ БУТИ ПЕРЕВИКОРИСТАНА В РІЗНИХ СИСТЕМАХ. В ОоП – також 2 1 3 4
Чому ООП? 1 В реальному житті, коли ми використали об’єкт - МИ УТИЛІЗУЄМО ЙОГО. В ОоП – також 2 1 3 4
Чому ООП? 1 В реальному житті ми будуємо речення - БАЗУЮЧИСЬ НА  ОСНОВНИХ  ПРИНЦИПАХ ОоП. В ОоП – також ;) І смеркає, і світає, День божий минає, І знову люд потомлений І все спочиває.   (Т. Г. Шевченко) OBJECTS METHODS ATTRIBUTES 2 1 3 4
Що таке ОоП? 2 Об’єктно-орієнтоване Програмування (ОоП) – це модель розробки ПЗ, яка сфокусована швидше на ОБ’ЄКТИ, ніж на ПОДІЇ, і на ДАНІ, ніж на ЛОГІКУ. 2 1 3 4
Що таке ОоП? 2 Абстракція - спосіб та метод відокремлення деталей з метою отримання можливості зосередитись на найважливіших особливостях об'єкта. Інкапсуляція – приховуваннявід  зовнішнього користувача деталей реалізації об'єкту, замість цього надаючи  інтерфейс взаємодії Поліморфізм – є здатність екземплярів підкласу грати роль об'єктів батьківського  класу, завдяки чому екземпляри підкласу можна використовувати там, де використовуються екземляри батьківського класу Наслідування – метод утворення нових  класів на основі використання вже існуючих Інкапсуляція VW Golf Основні принципи  ОоП АВТО АВТО Audi Q7 Абстракція 4 колеса; кермо; кузов; двері; двигун ... Поліморфізм Наслідування 2 1 3 4
Як використовувати ОоП? 3 OOA (Object Oriented Analysis) OOD (Object Oriented Design) OOP (Object Oriented Programming) 2 1 3 4
Object Oriented Design 3 Design Patterns Design  Principles Unified  Modeling Language 2 1 3 4
Unified Modeling Language 3 UML - уніфікована мова об'єктно-орієнтованого моделювання: *полегшує та пришвидшує процес проектування (візуалізація) * дозволяє знайти спільну  мову між різними  учасниками проекту 2 1 3 4
Unified Modeling Language 3 Structure diagrams Class diagram  Component diagram  Deployment diagram  Object diagram  Package diagram Behavior diagrams Activity diagram  State Machine diagram  Use case diagram  Interaction diagrams Communication diagram  Interaction overviewdiagram Sequence diagram  Timing diagram 2 1 3 4
Design Patterns 3 Design Pattern - об'єктно-орієнтований шаблон: * є зразком вирішення проблеми * відображає відношення між класами та об'єктами * але без вказівки на те,  як буде зрештою  реалізоване це  відношення. 2 1 3 4
Design Patterns 3 Structural Design Patterns Bridge, Adapter, Compositor Behavioral Design Patterns Observer, Strategy, Command, Visitor Creational Design Patterns Abstract Factory, Prototype, Clone System Patterns Singleton DAO, MVC 2 1 3 4
Design Principles 3 Design Principles –це рецепти або основні правила:  *які кажуть, як правильно будувати правильні системи *які необхідно  використовувати,  якщо потрібно написати  стабільну та зрозумілу  архітектуру. 2 1 3 4
Design Principles 3 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) 2 1 3 4
Що є далі за ОоП? 4 2 1 3 4
Архітектури 4 Середні системи (distributed architecture) Маленькі системи (application architecture) 2 1 3 4
Enterprise Архітектури 4 2 1 3 4
Інтеграційні Системи 4 2 1 3 4
Рефакторинг 4 2 1 3 4
Почитати 4
Питання? 4 By DIvanov, SoftServe, Jan 2011

Weitere ähnliche Inhalte

Ähnlich wie Object oriented reality

Основи подійно- та об’єктно-орієнтованого програмування
Основи подійно- та об’єктно-орієнтованого програмуванняОснови подійно- та об’єктно-орієнтованого програмування
Основи подійно- та об’єктно-орієнтованого програмуванняЕлектронні книги Ранок
 
комп’ютерні програми і мови програмування
комп’ютерні програми і мови програмуваннякомп’ютерні програми і мови програмування
комп’ютерні програми і мови програмуванняЗахарова Олена
 
"Elements of functional programming in C# based on Language-Ext library as an...
"Elements of functional programming in C# based on Language-Ext library as an..."Elements of functional programming in C# based on Language-Ext library as an...
"Elements of functional programming in C# based on Language-Ext library as an...Fwdays
 
M365: рекомендації
M365: рекомендаціїM365: рекомендації
M365: рекомендаціїAlexander Babich
 
основи програмування 1
основи програмування  1основи програмування  1
основи програмування 1CDN_IF
 
informatyka_9_klas_ryvkind_2022.pdf
informatyka_9_klas_ryvkind_2022.pdfinformatyka_9_klas_ryvkind_2022.pdf
informatyka_9_klas_ryvkind_2022.pdfssuser59c0a2
 
Інформатика. Третій рік – єдиний курс. 11 клас.
Інформатика. Третій рік – єдиний курс. 11 клас. Інформатика. Третій рік – єдиний курс. 11 клас.
Інформатика. Третій рік – єдиний курс. 11 клас. StAlKeRoV
 
Prototyping Anton Pivniuk
Prototyping Anton PivniukPrototyping Anton Pivniuk
Prototyping Anton PivniukAnton Pivniuk
 

Ähnlich wie Object oriented reality (9)

Основи подійно- та об’єктно-орієнтованого програмування
Основи подійно- та об’єктно-орієнтованого програмуванняОснови подійно- та об’єктно-орієнтованого програмування
Основи подійно- та об’єктно-орієнтованого програмування
 
комп’ютерні програми і мови програмування
комп’ютерні програми і мови програмуваннякомп’ютерні програми і мови програмування
комп’ютерні програми і мови програмування
 
"Elements of functional programming in C# based on Language-Ext library as an...
"Elements of functional programming in C# based on Language-Ext library as an..."Elements of functional programming in C# based on Language-Ext library as an...
"Elements of functional programming in C# based on Language-Ext library as an...
 
M365: рекомендації
M365: рекомендаціїM365: рекомендації
M365: рекомендації
 
cpp-2013 #3 OOP Basics
cpp-2013 #3 OOP Basicscpp-2013 #3 OOP Basics
cpp-2013 #3 OOP Basics
 
основи програмування 1
основи програмування  1основи програмування  1
основи програмування 1
 
informatyka_9_klas_ryvkind_2022.pdf
informatyka_9_klas_ryvkind_2022.pdfinformatyka_9_klas_ryvkind_2022.pdf
informatyka_9_klas_ryvkind_2022.pdf
 
Інформатика. Третій рік – єдиний курс. 11 клас.
Інформатика. Третій рік – єдиний курс. 11 клас. Інформатика. Третій рік – єдиний курс. 11 клас.
Інформатика. Третій рік – єдиний курс. 11 клас.
 
Prototyping Anton Pivniuk
Prototyping Anton PivniukPrototyping Anton Pivniuk
Prototyping Anton Pivniuk
 

Mehr von SoftServe

Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all SoftServe
 
Managed Extensibility Framework or Effective Development of Scalable Applicat...
Managed Extensibility Framework or Effective Development of Scalable Applicat...Managed Extensibility Framework or Effective Development of Scalable Applicat...
Managed Extensibility Framework or Effective Development of Scalable Applicat...SoftServe
 
There is time for rest
There is time for rest There is time for rest
There is time for rest SoftServe
 
Engineering practices within scrum
Engineering practices within scrumEngineering practices within scrum
Engineering practices within scrumSoftServe
 
Distributed scrum keys to success
Distributed scrum keys to successDistributed scrum keys to success
Distributed scrum keys to successSoftServe
 
Windows Communication Foundation
Windows Communication FoundationWindows Communication Foundation
Windows Communication FoundationSoftServe
 
Mono project
Mono project Mono project
Mono project SoftServe
 
Social networks plus software developers
Social networks plus software developersSocial networks plus software developers
Social networks plus software developersSoftServe
 
Project Management . The Change Agent
Project Management . The Change AgentProject Management . The Change Agent
Project Management . The Change AgentSoftServe
 
Project Management . The Change Agent Vijay Prasad M.Tech, PMP
Project Management . The Change Agent Vijay Prasad M.Tech, PMPProject Management . The Change Agent Vijay Prasad M.Tech, PMP
Project Management . The Change Agent Vijay Prasad M.Tech, PMPSoftServe
 
Project Management -Strategic Competency, & Trends
Project Management -Strategic Competency, & TrendsProject Management -Strategic Competency, & Trends
Project Management -Strategic Competency, & TrendsSoftServe
 
SoftServe - the difference is you! join professionals!
SoftServe - the difference is you! join professionals!SoftServe - the difference is you! join professionals!
SoftServe - the difference is you! join professionals!SoftServe
 
Pmo, project objectives and project life cycles
Pmo, project objectives and project life cyclesPmo, project objectives and project life cycles
Pmo, project objectives and project life cyclesSoftServe
 
Introduction to JSF
Introduction toJSFIntroduction toJSF
Introduction to JSFSoftServe
 

Mehr von SoftServe (15)

Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all
 
Managed Extensibility Framework or Effective Development of Scalable Applicat...
Managed Extensibility Framework or Effective Development of Scalable Applicat...Managed Extensibility Framework or Effective Development of Scalable Applicat...
Managed Extensibility Framework or Effective Development of Scalable Applicat...
 
There is time for rest
There is time for rest There is time for rest
There is time for rest
 
AGILE? YES!
AGILE? YES!AGILE? YES!
AGILE? YES!
 
Engineering practices within scrum
Engineering practices within scrumEngineering practices within scrum
Engineering practices within scrum
 
Distributed scrum keys to success
Distributed scrum keys to successDistributed scrum keys to success
Distributed scrum keys to success
 
Windows Communication Foundation
Windows Communication FoundationWindows Communication Foundation
Windows Communication Foundation
 
Mono project
Mono project Mono project
Mono project
 
Social networks plus software developers
Social networks plus software developersSocial networks plus software developers
Social networks plus software developers
 
Project Management . The Change Agent
Project Management . The Change AgentProject Management . The Change Agent
Project Management . The Change Agent
 
Project Management . The Change Agent Vijay Prasad M.Tech, PMP
Project Management . The Change Agent Vijay Prasad M.Tech, PMPProject Management . The Change Agent Vijay Prasad M.Tech, PMP
Project Management . The Change Agent Vijay Prasad M.Tech, PMP
 
Project Management -Strategic Competency, & Trends
Project Management -Strategic Competency, & TrendsProject Management -Strategic Competency, & Trends
Project Management -Strategic Competency, & Trends
 
SoftServe - the difference is you! join professionals!
SoftServe - the difference is you! join professionals!SoftServe - the difference is you! join professionals!
SoftServe - the difference is you! join professionals!
 
Pmo, project objectives and project life cycles
Pmo, project objectives and project life cyclesPmo, project objectives and project life cycles
Pmo, project objectives and project life cycles
 
Introduction to JSF
Introduction toJSFIntroduction toJSF
Introduction to JSF
 

Object oriented reality

  • 1. Об’єктно-Оріентована Реальність Чому ОоП? 1 2 Що таке ОоП? Як використовувати ОоП? 3 Що є далі за ОоП? 4 By DIvanov, SoftServe, Jan 2011
  • 2. Чому ОоП? 1 Розробляючи програмне забезпечення ми намагаємося змоделювати реальність - МИ МИСЛИМО РЕАЛЬНИМИ ОБ’ЄКТАМИ. В ОоП – також 2 1 3 4
  • 3. Чому ООП? 1 В реальному житті ми не цікавимося, що має об’єкт в середині, коли ми його використовуємо – МИ ЙОГО ПРОСТО ВИКОРИСТОВУЄМО. В ОоП – також 2 1 3 4
  • 4. Чому ООП? 1 В реальному житті, одна компонента – МОЖЕ БУТИ ПЕРЕВИКОРИСТАНА В РІЗНИХ СИСТЕМАХ. В ОоП – також 2 1 3 4
  • 5. Чому ООП? 1 В реальному житті, коли ми використали об’єкт - МИ УТИЛІЗУЄМО ЙОГО. В ОоП – також 2 1 3 4
  • 6. Чому ООП? 1 В реальному житті ми будуємо речення - БАЗУЮЧИСЬ НА ОСНОВНИХ ПРИНЦИПАХ ОоП. В ОоП – також ;) І смеркає, і світає, День божий минає, І знову люд потомлений І все спочиває. (Т. Г. Шевченко) OBJECTS METHODS ATTRIBUTES 2 1 3 4
  • 7. Що таке ОоП? 2 Об’єктно-орієнтоване Програмування (ОоП) – це модель розробки ПЗ, яка сфокусована швидше на ОБ’ЄКТИ, ніж на ПОДІЇ, і на ДАНІ, ніж на ЛОГІКУ. 2 1 3 4
  • 8. Що таке ОоП? 2 Абстракція - спосіб та метод відокремлення деталей з метою отримання можливості зосередитись на найважливіших особливостях об'єкта. Інкапсуляція – приховуваннявід зовнішнього користувача деталей реалізації об'єкту, замість цього надаючи інтерфейс взаємодії Поліморфізм – є здатність екземплярів підкласу грати роль об'єктів батьківського класу, завдяки чому екземпляри підкласу можна використовувати там, де використовуються екземляри батьківського класу Наслідування – метод утворення нових класів на основі використання вже існуючих Інкапсуляція VW Golf Основні принципи ОоП АВТО АВТО Audi Q7 Абстракція 4 колеса; кермо; кузов; двері; двигун ... Поліморфізм Наслідування 2 1 3 4
  • 9. Як використовувати ОоП? 3 OOA (Object Oriented Analysis) OOD (Object Oriented Design) OOP (Object Oriented Programming) 2 1 3 4
  • 10. Object Oriented Design 3 Design Patterns Design Principles Unified Modeling Language 2 1 3 4
  • 11. Unified Modeling Language 3 UML - уніфікована мова об'єктно-орієнтованого моделювання: *полегшує та пришвидшує процес проектування (візуалізація) * дозволяє знайти спільну мову між різними учасниками проекту 2 1 3 4
  • 12. Unified Modeling Language 3 Structure diagrams Class diagram Component diagram Deployment diagram Object diagram Package diagram Behavior diagrams Activity diagram State Machine diagram Use case diagram Interaction diagrams Communication diagram Interaction overviewdiagram Sequence diagram Timing diagram 2 1 3 4
  • 13. Design Patterns 3 Design Pattern - об'єктно-орієнтований шаблон: * є зразком вирішення проблеми * відображає відношення між класами та об'єктами * але без вказівки на те, як буде зрештою реалізоване це відношення. 2 1 3 4
  • 14. Design Patterns 3 Structural Design Patterns Bridge, Adapter, Compositor Behavioral Design Patterns Observer, Strategy, Command, Visitor Creational Design Patterns Abstract Factory, Prototype, Clone System Patterns Singleton DAO, MVC 2 1 3 4
  • 15. Design Principles 3 Design Principles –це рецепти або основні правила: *які кажуть, як правильно будувати правильні системи *які необхідно використовувати, якщо потрібно написати стабільну та зрозумілу архітектуру. 2 1 3 4
  • 16. Design Principles 3 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) 2 1 3 4
  • 17. Що є далі за ОоП? 4 2 1 3 4
  • 18. Архітектури 4 Середні системи (distributed architecture) Маленькі системи (application architecture) 2 1 3 4
  • 23. Питання? 4 By DIvanov, SoftServe, Jan 2011