Solid Principles In Java