**A goal to aim for with product design (or system design) what to aim for with each** A good system (software, product, etc) is one that is highly-cohesive, and loosely coupled. This exhibits good [[Conceptual Integrity]], keeps good [[Separation of Concerns]], and minimizes failure points. ![[Coupling]] # Cohesion The extent to which a component has a single purpose or function. High [[cohesion]] is good. ![[Cohesion]] The best system is one that is “loosely-coupled and highly-cohesive”. **** ## Source - [[Udacity Software Architecture Course]] ## Related - [[Separation of Concerns]]