Náhledy na architekturu

SOLID je 5 základních principů objektově orientovaného programování a designu. 

S SRP 
Single responsibility principle
class should have only a single responsibility (i.e. only one potential change in the software's specification should be able to affect the specification of the class)
O OCP 
Open/closed principle
“software entities … should be open for extension, but closed for modification.”
L LSP 
Liskov substitution principle
“objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.” See also design by contract.
I ISP 
Interface segregation principle
“many client-specific interfaces are better than one general-purpose interface.”[8]
D DIP 
Dependency inversion principle
one should “Depend upon Abstractions. Do not depend upon concretions.”[8]
Dependency injection is one method of following this principle.

Zásady se používají v úmyslu, aby bylo více pravděpodobné, že programátor vytvoří systém, který se snadno udržuje a rozšířuje v průběhu času.

Kam dál?