Cohesion and Coupling: the difference While coupling is a pretty intuitive concept, meaning that almost no one has difficulties understanding it, the notion of cohesion is harder to grasp. I also want to draw a line between these two ideas and show the differences in them. In this article, I’d like to discuss what this guideline actually means and take a look at some code samples illustrating it. You might have heard of a guideline saying that we should aim to achieve low coupling and high cohesion when working on a code base. This is another post on the most valuable principles in software development.