耦合的概念
耦合,从古代农业领域借用到其他领域,在物理学上指两个或两个以上的体系或两种运动形式之间通过各种相互作用而彼此影响,甚至联合起来的现象(这是一开始的概念,后来流向不同领域,比如编程)
在编程里面可以理解为各个东西的依赖程度
给你个问题:若让你维护各个模块,你觉得哪个更好
(请认为线表示模板的相互逻辑表示,若为双向交互,即为相互制约)
要是黑客来干你,它可能只能看到模块1,前者就直接么了,后者调整调整就又上线了。
你妈今天做的包子,做的韭菜的,你挺爱吃:你跟在你妈后面,“妈我吃包子”
(这是耦合低的)
(耦合度变高了),虽然变得麻烦了一步,但实际方便许多,能解决的问题也变多了。你和你妈的关于包子上紧密度降低了,但反而问题更好解决
这就是耦合,编程的时候希望可以低耦合降低复杂度,这个期望是是由业务来决定的
聚合
一个软件结构内不同模块之间互连程度的度量
高聚合:一个模块内部各个元素彼此结合的紧密程度的度量。
欸???你刚刚就说把他们松开,这怎么又紧上去了??
这是小模块之间的要求
希望高效完成,做好本模块工作