Beginning Object-Oriented Design
Overview/Description
Target Audience
Prerequisites
Expected Duration
Lesson Objectives
Course Number
Expertise Level
Overview/Description
There are a number of concepts and methodologies that encompass what is known as object-oriented design. In this course, you'll explore object-oriented design concepts such as Single responsibility, Open/Closed, Liskov substitution, Interface segregation and Dependency inversion (SOLID), Unified Modeling Language (UML), class responsibility collaboration (CRC) cards, and General Responsibility Assignment Software Patterns (GRASP).
Target Audience
Programmers and developers who want to design plans for writing better code
Prerequisites
None
Expected Duration (hours)
2.6
Lesson Objectives Beginning Object-Oriented Design
start the course
recognize the basic concepts of OOP
create and instantiate a C#/Java object
explain what abstract classes are and illustrate with a sample
explain what encapsulation is and illustrate with a sample
explain what inheritance is and illustrate with a sample
demonstrate the concept of polymorphism and show how it works with a code sample
recognize the basic concepts of OOD
recognize the basic concepts of UML and recommended tools
demonstrate the role of use cases in OOD
demonstrate how to model classes and objects using UML
demonstrate the role of state charts in OOD
demonstrate how to create UML activity diagrams
recognize the basic concepts of Don't Repeat Yourself (DRY)
demonstrate the use of a Class Responsibility Collaboration card
recognize the basic concepts of object-oriented programming: encapsulation, inheritance, polymorphism, and abstraction
recognize the basic concepts of SOLID
recognize the basic concepts of the Single Responsibility Principle
recognize the basic concepts of the Open/Closed Principle
recognize the basic concepts of the Liskov Substitution Principle
recognize the basic concepts of the Interface Segregation Principle
recognize the basic concepts of the Dependency Inversion Principle
recognize the basic concepts of GRASP
recognize the role of the Information Expert principle in the GRASP pattern
recognize the role of the Creator principle in the GRASP pattern
recognize the role of the Low Coupling principle in the GRASP pattern
recognize the role of the High Cohesion principle in the GRASP pattern
recognize the role of the Controller principle in the GRASP pattern
recognize the role of Polymorphism in the GRASP pattern
recognize the role of the Pure Fabrication principle in the GRASP pattern
recognize the role of the Indirection principle in the GRASP pattern
recognize the role of Protected Variations in the GRASP pattern
recognize the basic concepts of the SOLID and GRASP object-oriented design principles
Course Number: sd_oord_a01_it_enus
Expertise Level
Beginner