首页 > 编程知识 正文

内聚和耦合是什么意思,电感耦合

时间:2023-05-04 23:55:10 阅读:135626 作者:127

作者:大街周围

资料来源: www.cn blogs.com/x decode/p/9393885.html

模块

模块是从逻辑上将系统分解为更精细的部分,分期治疗,将复杂的问题分解为几个简单的问题,逐一解决。

耦合主要描述模块之间的关系,而凝聚主要描述模块内部。 模块的粒度lkdggx可以小,也可以是函数、类、功能块等。

偶联反应

模块之间存在依赖,变更可能相互影响,关系越密切,结合越强,模块的独立性越差。

例如,在模块a直接操作模块b数据的情况下,认为是强耦合,而在a仅利用数据与模块b进行交换的情况下,认为是弱耦合.

独立的模块易于扩展、维护和单元测试写入,模块之间的依赖程度高会大大降低开发效率。

凝聚

模块内部元素相关性越强,聚集性越高,模块单一性更强。 一个模块必须尽可能独立地完成某项功能。

如果存在需要部署到当前模块的场景,代码质量将变得非常脆弱。 在这种情况下,建议将其划分为多个模块。

低凝聚的模块代码,维护、扩张、重构都相当麻烦,难以插手

界面设计原则

好的接口应满足设计模式的六大原则,许多设计模式、架构都是基于高内聚低耦合这一出发点。 单一职责原则:一个班只负责一个功能领域中的相应职责。

开关原则:一个软件实体必须对扩展开放,对修改关闭。

充实的未来置换原则引用:基类(父类)的所有位置必须能够透明地使用该子类的对象

依赖逆转原则:的抽象不应该依赖于细节,细节应该依赖于抽象。 换句话说,不是为了实现的编程,而是为了接口的编程。

隔离策略:使用多个专用接口,而不是单个总接口。 这意味着客户端不能依赖于不需要的接口。

德米特里定律:一个软件实体必须尽量避免与其他实体发生交互。 例如,外观模式、外部曝光统一接口。

举几个栗子

*外观模式

**

为系统中的多个子系统提供一致的对外调用,向客户端隐藏子系统细节,降低与子系统的耦合。

桥接模式

分离了JDBC中的面向制造商的接口(Driver )和面向用户的API ) Drivermanager。 //开发者只需要关注JDBCAPI,而不需要关注不同数据库的驱动程序接口实现

class.forname (com.MySQL.JDBC.driver );

connection conn=driver manager.getconnection (URL,username,password );

适配器模式

不应该引入第三方库(hibernate,log4j ),直接在代码中继承或使用实体类。

必须提取更高层的统一接口,然后增加实现类,使接口暴露在外。 //代码与log4j紧密结合,不推荐使用

org.Apache.log4j.logger.getrootlogger ().info('info );

//基础可以自由交换log帧

FRLoggerFactory.getLogger ().info('info );

我建议你多读读我的博客:

我觉得可以。 点赞别忘了转发哦。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。