Introduction to Object Oriented Design

750 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
750
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
26
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Introduction to Object Oriented Design

  1. 1. Intro to OOD Oleg Yaroshevych, 2012
  2. 2. Why
  3. 3. What
  4. 4. Scope
  5. 5. The Process
  6. 6. ProcessObject-Oriented Analysis
  7. 7. ProcessObject-Oriented Design
  8. 8. Process Why OOD Simplifies System EvolutionDefine Likely to Change Aspects A Common Design Vocabulary Anti Patterns
  9. 9. ProcessOOD Process Context And Modes Architecture Principal Objects Design Models Object Interfaces
  10. 10. Process: OOD PrinciplesDesign Quality in From The Start
  11. 11. Process: OOD PrinciplesClarity and Simplicity
  12. 12. Process: OOD PrinciplesSeparate Mutable and Immutable Aspects
  13. 13. Process: OOD PrinciplesSingle Responsibility
  14. 14. Process: OOD PrinciplesData Abstraction
  15. 15. Process: OOD PrinciplesLoose Coupling
  16. 16. Process: OOD PrinciplesDependency Inversion
  17. 17. Process: OOD PrinciplesDependency Injection and Inversion of Control
  18. 18. Process: OOD PrinciplesInterface Segregation
  19. 19. ProcessOOD Examples
  20. 20. ProcessOOD Problems Redundant Models Premature Optimization Lack of Abstract Thinking
  21. 21. ProcessOOP
  22. 22. Process Why OOPAbility to Design Big-Ass Systems Stability Reusability
  23. 23. Process OOP Principles Objects Are Independent and Encapsulate StateFunctionality is Expressed in Terms of Object Services Objects Communicate by Message Passing
  24. 24. ProcessProc vs OOP
  25. 25. ProcessSummary
  26. 26. UML
  27. 27. UML Why UML Same Models in All Stages AbstractionModel The Concept, Not Implementation “Big Picture" of The System is Useful
  28. 28. UMLSequence Diagram
  29. 29. UMLState Diagram
  30. 30. UMLClass Diagram
  31. 31. UML ProblemsNo One Knows How to Draw Properly Stick to Code for Code It Is a Huge Language
  32. 32. Patterns
  33. 33. PatternsWhy PatternsKeep It Simple, Do Not Comment Talk Patterns, Not Objects Name The Thing
  34. 34. GOF Patterns
  35. 35. GOF PatternsObserver
  36. 36. GOF PatternsTemplate Method
  37. 37. GOF PatternsStrategy
  38. 38. GOF Patterns Proxy
  39. 39. GOF PatternsIterator and Visitor
  40. 40. GOF PatternsFacade
  41. 41. GOF PatternsDecorator
  42. 42. Enterprise Patterns
  43. 43. Enterprise PatternsDomain Logic Patterns Transaction Script Active Record Domain Model
  44. 44. Enterprise Patterns ID Field
  45. 45. Enterprise PatternsIdentity Map
  46. 46. Enterprise PatternsRepository
  47. 47. Enterprise PatternsEmbedded Value
  48. 48. Enterprise PatternsQuery Object
  49. 49. Enterprise PatternsLazy Loading
  50. 50. Enterprise PatternsUnit Of Work
  51. 51. Enterprise PatternsData Mapper
  52. 52. Enterprise PatternsTable Inheritance Single Table Inheritance Class Table Inheritance Concrete Table Inheritance
  53. 53. Enterprise Patterns Null Object(Special Case)
  54. 54. Enterprise PatternsSeparated Interface
  55. 55. Enterprise Patterns Gateway
  56. 56. Enterprise PatternsRecord Set
  57. 57. Enterprise PatternsService Locator
  58. 58. Enterprise Patterns Immutable(Read-Only Interface)
  59. 59. Enterprise PatternsMarker Interface
  60. 60. Enterprise PatternsObject Pool
  61. 61. Enterprise Patterns Registry
  62. 62. Enterprise PatternsLayered Architecture
  63. 63. Enterprise PatternsLayer Supertype
  64. 64. Enterprise PatternsDynamic Linkage
  65. 65. Enterprise PatternsConcurrency
  66. 66. Enterprise PatternsProducer-Consumer
  67. 67. PatternsMVC
  68. 68. PatternsMVC in Web Apps
  69. 69. PatternsDomain-Specific Patterns User Interface Secure Design Web Design Business Model
  70. 70. Patterns Problems Keep It Simple You Aint Gonna Need ItSome Patterns Are Not Appropriate
  71. 71. Architecture
  72. 72. Architecture DDD
  73. 73. ArchitectureDDD Principles The Ubiquitous Language Serialization Services Layering
  74. 74. Architecture SOA
  75. 75. Architecture When to use SOA Advanced security, logging, quotas Services Are AutonomousServices Share Schema and Contract, Not Class
  76. 76. ArchitectureOnion
  77. 77. ArchitectureWhy Onion?
  78. 78. ArchitectureOnion Diagram
  79. 79. Architecture Onion Problems It Ain’t Universal PatternRequires Knowledge of Complex Concepts Hard to Define System Core
  80. 80. Summary Process Patterns Architecture Simple!
  81. 81. Reference Books Bishop J. - C# 3.0 Design Patterns Design Patterns Elements of Reusable Object-Oriented Software Mark Priestley - Practical Object-oriented Design with UML Object-Oriented Analysis and Design Using UML. Sun microsystems Object Oriented Design Standards. The Corelinux Consortium Scott Millett - Professional ASP.NET Design PatternsElisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson - Head First Design Patterns Presentations http://www.slideshare.net/spriebsch/advanced-oop-and-design-patterns http://www.slideshare.net/sudarsun/object-oriented-design http://www.slideshare.net/elfuchs/o-o-d
  82. 82. Links Demo Code https://github.com/yaroshevych/OnionReference My Github and Slideshare profiles http://yaroshevy.ch/about Images David Gallard http://www.flickr.com/photos/mrguep/4203634376/in/photostream/Joanjo Aguar Matoses http://www.flickr.com/photos/joanjo_aguar_matoses/4624775173/in/photostream/ Adam Wyles http://www.flickr.com/photos/the-travelling-bum/5262087254/in/photostream/ Don Buciak II http://www.flickr.com/photos/donbuciak/5448599489/in/photostream/ David Gallard http://www.flickr.com/photos/mrguep/4202876501/in/photostream/ Francisco Gonzalez http://www.flickr.com/photos/franciscojgonzalez/8087008004/in/photostream/ David Gallard http://www.flickr.com/photos/mrguep/4203635248/in/photostream/ License CC BY-NC-ND 2.0 http://creativecommons.org/licenses/by-nc-nd/2.0/

×