

High Cohesion, Loose Coupling
source link: https://kevinsmith.io/high-cohesion-loose-coupling/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

High Cohesion, Loose Coupling
High-quality software is both valuable to the business and easy to change. While it’s simple to be dogmatic at either end of this spectrum, both goals are important to the business in the long run. Aiming for highly cohesive and loosely coupled code is key to finding the balance, but this concept can be tough to understand at first glance. So what does it actually mean?
High Cohesion, Loose Coupling characterizes software designed with a keen focus on Separation of Concerns, the foundation of effective, resilient, malleable, performant, secure, maintainable software.
High Cohesion describes the internals of a well-bounded module that consists of closely associated elements working together to accomplish one job, which helps maximize the comprehensibility of the codebase at large. Such a module contains all the decision-making power necessary to do its job.
Loose Coupling refers to minimal dependencies between modules, accomplished through strict, narrow, stable interfaces at the boundaries.
It's worth noting that a module is merely a distinct part of the system that performs some kind of important job and hides its inner workings from the rest of the system, according to David L. Parnas in his seminal paper on software modularization.
There are small-scale jobs and large-scale jobs, so this characterization of high-quality code applies equally to the system at every scale, from the smallest function to the entire application and beyond.
Recommend
-
24
Join GitHub today GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software togethe...
-
10
Cohesion and Coupling in OOPDecember 15th 2020 new story4
-
7
Axiomatic cohesion in HoTT This post is to alert the members of the HoTT community to some exciting recent developments over...
-
14
Immutability & loose coupling: a match made in heaven DevOps: Concepts, Culture, and Consequences (2 Part Series) When it comes to infrastructure and deployment...
-
11
Beyond Coupling and Cohesion: Strategies For Un-F*cking Yourself Written on August 8, 2021 The terms Loose Coupling and High Cohesion seem to go hand in hand: the two concepts were coined...
-
5
'Decentralization Fosters Group Cohesion': Interview with Devendra Singh KhatiDecember 5th 2021 2...
-
6
Cohesion and Coupling in Software with Examples You’re a developer at B...
-
4
Increasing Cohesion in Go with Generic Decorators May 25, 2022 Miłosz Smółka Senior Backend Engineer at
-
6
SOLID? Nope, just Coupling and Cohesion Skip to main content
-
9
Security is at Odds With Productivity and Team CohesionOctober 18th 2022 new story8
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK