gdtyra

Software Design

The following is a collection of guidelines for class and general software component design based on things I've read and / or found to be helpful in my experience.

High-level considerations

Use of OOP and class design

SOLID

Constructors and dependency injection

Interfaces and object relationships

Subtle dependencies

Tips for refactoring a large class