One of the big drawbacks of object-oriented design is that, unlike with most programming, you don't get crashes and error messages if your class architecture has structural flaws. This may seem like a benefit -- the application will still run -- but leaving these flaws in place makes code unnecessarily complicated and difficult to maintain. Watch this video introduction to object-oriented design principles and you'll learn why it's so important to follow good practice.
Programming is full of rules.…When you first learn a language, you spend a lot of time memorizing what can and…can't be done with that language, syntax rules, keywords, sometimes things like…memory management, perhaps you can't create a variable name that has a number at…the beginning, or whether you must break in every case of a switch statement.…And in one language you can send a message to a released object,…another language you can't.…But in one way the situation with these is easy.…If you do these things, you'll have an obvious problem, your code won't compile…or your program will crash.…
With Object-Oriented Design it's not that straightforward, and there is very…little in the way of enforced rules.…If you have a situation where you could use inheritance and you don't and…instead create several classes that duplicate 90% of each other, what will happen?…The program won't crash, there will be no messages.…If you make every member of every class public and violate encapsulation having…every object reach directly into every other object, again, the program will…
Let Simon Allardice introduce you to the terms—words like abstraction, inheritance, polymorphism, subclass—and guide you through defining your requirements and identifying use cases for your program. The course also covers creating conceptual models of your program with design patterns, class and sequence diagrams, and unified modeling language (UML) tools, and then shows how to convert the diagrams into code.
- Why use object-oriented design (OOD)?
- Pinpointing use cases, actors, and scenarios
- Identifying class responsibilities and relationships
- Creating class diagrams
- Using abstract classes
- Working with inheritance
- Creating advanced UML diagrams
- Understanding object-oriented design principles
Skill Level Intermediate
1. Core Concepts
2. Object-Oriented Analysis and Design
Defining requirements6m 9s
3. Utilizing Use Cases
4. Domain Modeling (Modeling the App)
5. Creating Classes
6. Inheritance and Composition
7. Advanced Concepts
8. Object-Oriented Design Patterns
9. Object-Oriented Design Principles
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.Cancel
Take notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.