Sergej Chodarev
Sergej Chodarev
A module should have one, and only one, reason to change.
A module should be responsible to one, and only one, actor.
A module should be responsible to one, and only one, actor.
A software artifact should be open for extension but closed for modification.
Subtype Requirement: Let $\phi (x)$ be a property provable about objects $x$ of type $T$. Then $\phi (y)$ should be true for objects $y$ of type $S$ where $S$ is a subtype of $T$.
– Barbara Liskov
https://git.kpi.fei.tuke.sk/meta/examples/reflection-performance