低耦合和高内聚是我们所追求的,低耦合是指一个程序中各个模块之间的联系少和相互依赖程度低,一个模块实现具体实现一个功能,各个类之间联系越少,相互依赖程度越低、共用或者传输的参数越少,则它们之间的耦合度越低,这样如果改动了一个类中一部分内容,就不需用改动其它类的内容或者只需要改动很少的一部分。便于程序的修改和升级。
高类聚是指一个模块内部各个元素之间关系紧密,争取用最少的元素和方法实现相应的功能。
不过低耦合和高内聚是一对冤家,比如说函数传参 如果参数越少耦合度就越低不传参是最理想的 但是不传参的话这个函数功能就很单一 如果传入的参数越多 可能公用性就越强 这就是高内聚 很矛盾 要追求低耦合就得尽量减少模块数量或者类的数量,即要一个类中写入较多的方法,这样子一来内聚就会降低,相反过高的追求高内聚必然要细分,这样必然会触返低耦合,这时候就得寻求一种平衡和和谐。