Based on the Domain Model you have chosen, write one project that demonstrates the following  1) Encapsulation,  Inheritance and Polymorphism  2) Write code that demonstrate the violation and correction of the violation for the following software design principles  Principle of Least knowledge (PLK), Open Closed Principle (OCP), Depency Inversion Principle (DIP), Single Responsibility Principle (SRP), Interface Segregation Principle (ISP), Liskov Substitution Principle (LSP).  Note that marks will only be awarded for application of these principles to real cases in your chosen domain.