我读过很多关于耦合的文章,无一例外地从高角度看待它。他们很少用真实的项目来详细说明它。
所以,我遇到了一个具体的问题:
简化模型如下:
- 架构 1
# m: module
---------
|context|
---------
/ | | \
/ | | \
---- ---- ---- ----
|m1| |m2| |m3| |m4|
---- ---- ---- ----
上下文依赖于 m1、m2、m3 和 m4,并且只有一个依赖项。
- 架构 2
# m: module
# al: abstract layer
---------
|context|
---------
/ \
----- -----
|al1| |al2|
----- -----
/ | | \
---- ---- ---- ----
|m1| |m2| |m3| |m4|
---- ---- ---- ----
上下文依赖于 al1 和 al2,而 al1 和 al2 分别依赖于
m1、m2 和 m3、m4。它们都只有一个依赖项。
问题是:
- 哪一个的耦合比另一个松散,为什么?
- 如果答案是后者,那么松耦合和更多层之间有什么关系吗?