- Main point: In the software industry, "coupling" is often regarded negatively. The original concept defined coupling as relationships among modules and cohesion as within a module. But with the rise of object-oriented programming, the meaning of cohesion changed to a more tacit concept. This newsletter aims to redefine coupling as co-explanation and explore its benefits and costs in software design.
Key information:
- A 1974 paper emphasized minimizing coupling and maximizing cohesion.
- Modules were defined as subroutines like PL/I procedures, FORTRAN mainlines, etc.
- Object-oriented programming led to discussions about cohesive classes and cohesion within components.
- Cohesion became a tacit concept as we rely on intuition to determine lack of cohesion.
- The newsletter defines coupling as co-explanation and discusses its costs and benefits.
Important details:
- References to specific papers like [Stevens, Myers, and Constantine 1974], [Booch 1991], [Larmen 2005], and [Metz 2018] are provided to support the discussion.
- It is noted that most discussions of cohesion fall short and often boil down to a tautology about coupling.
- The next week's focus will be on examples of beneficial coupling and how it works.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。