Advanced Design Patterns: Design Principles

Advanced Design Patterns: Design Principles

53mAdvanced2020-03-23

Authors

Eric Freeman

Eric Freeman

Author, Computer Scientist

Course details

You may be familiar with the fundamental concepts of object-oriented design—inheritance, encapsulation, polymorphism, and abstraction—but there is a set of higher-level design principles that can be used to take your design to the next level. Design principles guide your design decisions to produce software that is more reliable, flexible, and maintainable. Join instructor Eric Freeman as he goes beyond the standard concepts of object-oriented programming to introduce you to the most notable design principles, including encapsulate what varies, favor composition over inheritance, loose coupling, and the SOLID principles. Each lesson includes examples that show how these principles can be used to avoid costly design mistakes and create more maintainable, high-quality software.

Skills covered

Software DesignJavaAdvancedOraclePythonProgramming LanguagesOpen SourceSoftware Development

Concepts

Introduction

  • Take your design to the next level
  • What are design principles
  • How many design principles are there
  • Design principles and design patterns

The Principles

  • Encapsulate what varies
  • Favor composition over inheritance
  • Loose coupling
  • Program to interfaces
  • Single responsibility principle
  • Open-closed principle
  • Liskov's substitution principle
  • Interface segregation principle
  • Dependency inversion principle

Conclusion

  • Continuing your studies
40,000 Toman