关于内聚和耦合的理解
1.耦合
一个模块依赖于另一个模块,就是两个模块之间有耦合,简而言之,依赖就是耦合
模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差。
降低模块间的耦合度能减少模块间的影响,防止对某一模块修改所引起的“牵一发动全身”的水波效应,保证系统设计顺利进行
2.内聚
高内聚,是指一个模块内部的代码的相关程度要高,就像分子之间的作用力一样,要紧密的结合在一起。最典型的就是,一个模块只做一件事。
就是所谓的单一职责。
2.开闭原则
一个模块的改变不会引起其他模块的改变。就是当一个模块对其他模块的依赖最小,甚至无依赖时,其才不会因为其他模块的改变而改变。
3.依赖倒置
依赖于抽象,不依赖于实现。即一个模块只是去依赖于一个标准,只要标准不变,模块就无需改变。其依赖的模块只要
实现了对应的标准,我就可以使用它,而不必知道它的存在。标准的另一说法叫接口,即编程语言中的接口。
4.依赖注入
将对模块的依赖从一个中心注入进去。实际上是将依赖关系的管理放在了一个统一的地方,类似于bus总线模式,降低了修改一个被依赖模块带来的
修改成本。
标签:
设计模式
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2016-02-06 canvas代替img渲染图片
2016-02-06 javascript模块简单写法