Design Pattern And Solid Principles