I think <i>coupling</i> and <i>cohesion</i> stand out as fundamental software design principles.  (I wouldn&#x27;t say it&#x27;s &quot;interfaces&quot; as I can imagine interfaces with tight coupling or low cohesion.)