Made an Interface to 2 classes to use principle DIP . Made an Absteact Class to 2 classes to use principle DIP . Distripute attributes to use OCP .