An Overview of SOLID Principles