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