Skip to content

adamwan-nexplore/intro-to-software-design-nxp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 

Repository files navigation

Introduction to Software Design, Object Oriented Programming and Design Patterns

-> Software Design -> OOP -> Design Patterns

What is software design?

What is Object Oriented Programming?

(Visually)

  • Everything is a class
  • Everytime assigns values (attributes) to a class to create an object
  • When creating / reading (heavily) / updating / deleting external sources, we will invoke the functions (behaviours) of the object

Purpose of software design.

What do we expect from Object Oriented Programming?

-> A new requirement comes > change little / no change of system

-> The change of requirement is proportional to the amount of change of the system

-> Facitiliate to add new codes instead of modifying the existing codes as much as possible

Four Pillars of OOP

  • Abstraction
  • Encapsulation
  • Inheritance
  • Polymorphism

Five Priniciples of Good OOP (SOLID)

  • Single-responsiblity Principle
  • Open-closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle

Design Patterns

Reference

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published