What are the principles of software design?
In software development, design principles are high-level conceptual guidelines that should apply to the entire process. Not every project will use the same principles, and these are not mandatory rules to be enforced. They can appear in a project from the architecture down to the user interface (UI) and the last bit of code. In practice, some of these principles can also influence software attributes, such as maintainability and re-usability.