Matt Johnson

Flight Path

Solid Design Principle

SIngle Responsibility Principle A class should have only a single responsibility. 

A software module should be open for extension and closed for modification

Open Closed Principle

Flight Path

Liskov Substitution Principle  Objects in a program should be replacaeble with instances of their subtypes without altering the correctness of program

TClients should not be  forced to depend on interfaces that they do not use

Interface Segregation Principle

Program  to an interface, not to an implementation

Dependency Inversion Principle

Flight Path