Introduction to Object Oriented Design

  • 308 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
308
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
13
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Intro to OOD Oleg Yaroshevych, 2012
  • 2. Why
  • 3. What
  • 4. Scope
  • 5. The Process
  • 6. ProcessObject-Oriented Analysis
  • 7. ProcessObject-Oriented Design
  • 8. Process Why OOD Simplifies System EvolutionDefine Likely to Change Aspects A Common Design Vocabulary Anti Patterns
  • 9. ProcessOOD Process Context And Modes Architecture Principal Objects Design Models Object Interfaces
  • 10. Process: OOD PrinciplesDesign Quality in From The Start
  • 11. Process: OOD PrinciplesClarity and Simplicity
  • 12. Process: OOD PrinciplesSeparate Mutable and Immutable Aspects
  • 13. Process: OOD PrinciplesSingle Responsibility
  • 14. Process: OOD PrinciplesData Abstraction
  • 15. Process: OOD PrinciplesLoose Coupling
  • 16. Process: OOD PrinciplesDependency Inversion
  • 17. Process: OOD PrinciplesDependency Injection and Inversion of Control
  • 18. Process: OOD PrinciplesInterface Segregation
  • 19. ProcessOOD Examples
  • 20. ProcessOOD Problems Redundant Models Premature Optimization Lack of Abstract Thinking
  • 21. ProcessOOP
  • 22. Process Why OOPAbility to Design Big-Ass Systems Stability Reusability
  • 23. Process OOP Principles Objects Are Independent and Encapsulate StateFunctionality is Expressed in Terms of Object Services Objects Communicate by Message Passing
  • 24. ProcessProc vs OOP
  • 25. ProcessSummary
  • 26. UML
  • 27. UML Why UML Same Models in All Stages AbstractionModel The Concept, Not Implementation “Big Picture" of The System is Useful
  • 28. UMLSequence Diagram
  • 29. UMLState Diagram
  • 30. UMLClass Diagram
  • 31. UML ProblemsNo One Knows How to Draw Properly Stick to Code for Code It Is a Huge Language
  • 32. Patterns
  • 33. PatternsWhy PatternsKeep It Simple, Do Not Comment Talk Patterns, Not Objects Name The Thing
  • 34. GOF Patterns
  • 35. GOF PatternsObserver
  • 36. GOF PatternsTemplate Method
  • 37. GOF PatternsStrategy
  • 38. GOF Patterns Proxy
  • 39. GOF PatternsIterator and Visitor
  • 40. GOF PatternsFacade
  • 41. GOF PatternsDecorator
  • 42. Enterprise Patterns
  • 43. Enterprise PatternsDomain Logic Patterns Transaction Script Active Record Domain Model
  • 44. Enterprise Patterns ID Field
  • 45. Enterprise PatternsIdentity Map
  • 46. Enterprise PatternsRepository
  • 47. Enterprise PatternsEmbedded Value
  • 48. Enterprise PatternsQuery Object
  • 49. Enterprise PatternsLazy Loading
  • 50. Enterprise PatternsUnit Of Work
  • 51. Enterprise PatternsData Mapper
  • 52. Enterprise PatternsTable Inheritance Single Table Inheritance Class Table Inheritance Concrete Table Inheritance
  • 53. Enterprise Patterns Null Object(Special Case)
  • 54. Enterprise PatternsSeparated Interface
  • 55. Enterprise Patterns Gateway
  • 56. Enterprise PatternsRecord Set
  • 57. Enterprise PatternsService Locator
  • 58. Enterprise Patterns Immutable(Read-Only Interface)
  • 59. Enterprise PatternsMarker Interface
  • 60. Enterprise PatternsObject Pool
  • 61. Enterprise Patterns Registry
  • 62. Enterprise PatternsLayered Architecture
  • 63. Enterprise PatternsLayer Supertype
  • 64. Enterprise PatternsDynamic Linkage
  • 65. Enterprise PatternsConcurrency
  • 66. Enterprise PatternsProducer-Consumer
  • 67. PatternsMVC
  • 68. PatternsMVC in Web Apps
  • 69. PatternsDomain-Specific Patterns User Interface Secure Design Web Design Business Model
  • 70. Patterns Problems Keep It Simple You Aint Gonna Need ItSome Patterns Are Not Appropriate
  • 71. Architecture
  • 72. Architecture DDD
  • 73. ArchitectureDDD Principles The Ubiquitous Language Serialization Services Layering
  • 74. Architecture SOA
  • 75. Architecture When to use SOA Advanced security, logging, quotas Services Are AutonomousServices Share Schema and Contract, Not Class
  • 76. ArchitectureOnion
  • 77. ArchitectureWhy Onion?
  • 78. ArchitectureOnion Diagram
  • 79. Architecture Onion Problems It Ain’t Universal PatternRequires Knowledge of Complex Concepts Hard to Define System Core
  • 80. Summary Process Patterns Architecture Simple!
  • 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. 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/