高内聚 符合单一责任原则,一个方法、一个模块、或一个服务尽可能做一件事,并且可以最大化复用。
理解是,先做好自己再努力帮助别人。
低耦合 方法与方法之间,模块模块之间或服务与服务之间尽量不要相互影响。
理解是,自己不好不要紧,不要给别人带来麻烦。
饭店举例 也算服务
第一种情况
王开饭店主要做经营,李供货鸡肉,赵供货鱼肉,孙供货蔬菜,朱供货猪肉。结果猪肉涨价朱倒闭了。饭店王跟客人说,今天暂时没猪肉了,我们家鸡,鱼都不错要不要尝尝,客人说可以。
第二种情况
五个人共同开个饭馆,王负责经营,李负责采购,赵负责收款,孙负责做菜,朱负责上菜。结果朱撂挑子不干了,没人上菜了。客户扔地上了。意思就是有一个人不行了都会影响到其他人,因为每个人之间都有依赖关系共同服务客户。
总结
高内聚低耦合常表示软件开发中,方法与方法,模块与模块,服务与服务之间的关系。高内聚追求复用,而低耦合追求避免因单点原因导致整个服务瘫痪。
所以需要架构师合理设计,因为两者本身是矛盾的。
文章最后发布于: 2019-12-25