An excellent tool in your arsenal for ensuring software quality is to establish software design patterns. Software design patterns can help reduce the insertion of software defects and also facilitates finding software defects during development. One to consider is GRASP software design guidelines that help to create consistency with software class responsibility.
GRASP is acronym for General Responsibility Assignment Software Patterns. It consists of nine guidelines for answering one of the most common object-oriented design questions: “Which class should be responsible for this responsibility?”
You can download the guidelines at this link: GRASP Design Pattern
