耦合作为共同解释

  • 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.
阅读 12
0 条评论