写点什么

低耦合、高内聚?

用户头像
escray
关注
发布于: 3 小时前
低耦合、高内聚?

极客时间《如何落地业务建模》学习笔记


说点题外话 01|好耦和与坏耦和


必然耦合是无法避免的,具有确定性,是好的耦合;


偶然耦合相对随机、偶然,具有变化性,是不好的耦合,需要处理掉。


从业务上找到业务真正所耦合的能力,消除不必要的偶然耦合,把具体实现转化为对隐藏业务能力的必然耦合。


对于思考题,基础设施层应该算是必然耦合吧,但是其中具体的数据库选型,或者是文件系统,应该属于偶然耦合。


If changing one module in a program requires changing another module, then coupling exists. -- Martin Fowler


Coupling is the measure of how dependent your code modules are on each other. Strong coupling is bad and low coupling is good.


真实世界中,紧耦合的例子是航天飞船;松耦合的例子是乐高积木。


A real-world example of heavy coupling is the space shuttle.

An example of loose coupling is the Lego.


Loose coupling code will be easier to read, reuse and change.


与耦合对应的概念应该是内聚 cohesion,degree to which the elements of a module belong together.

High cohesion is considered a good thing.


关于高内聚,比较好的例子是电钻。

An example of good cohesion is an electric drill.


If your code(classes) can be easily combined together to create something useful, then that code is said to be cohesive.

发布于: 3 小时前阅读数: 2
用户头像

escray

关注

Let's Go 2017.11.19 加入

前沿关键技术与基础理论研究师

评论

发布
暂无评论
低耦合、高内聚?