当前位置: 首页 > news >正文

提供网站建设公东莞seo管理

提供网站建设公,东莞seo管理,汽车嵌入式软件开发,机械加工工时计算软件高内聚(High Cohesion)是指模块内部的元素紧密协作,共同完成一个明确且相对独立的功能。就像高效的小团队,成员们目标一致,相互配合默契。 低耦合(Loose Coupling)是指模块之间的依赖较少&#…

高内聚(High Cohesion)是指模块内部的元素紧密协作,共同完成一个明确且相对独立的功能。就像高效的小团队,成员们目标一致,相互配合默契。
低耦合(Loose Coupling)是指模块之间的依赖较少,只通过精心定义的接口与外部交互。这样的设计使得模块对外界的依赖减少,从而提高了系统的灵活性和可维护性。
高内聚是“解耦”的关键,原因在于当模块具有高内聚性时,它自身形成了一个功能完整的单元。这样的模块对外的依赖较少,只需调用其接口即可实现功能,而不需要了解其内部复杂的细节

通过降低模块之间的相互关联和依赖,可以达到解耦的效果。这样,当一个模块发生变化时,不会影响到其他模块的核心功能,也不会产生过多的连锁反应,进一步促进了系统的稳定和解耦。
总的来说,高内聚和低耦合是软件设计中追求的目标,它们有助于提高系统的灵活性、可维护性和稳定性

首先,我会描述一个场景,然后提供两种设计方案:一种是低内聚的设计,另一种是高内聚的设计。我会用mermaid图例来展示这两种设计,并使用表格来对比它们的优缺点。

案例1:短信发送

低内聚设计方案

如果客户端直接集成对接三种客户端(移动、电信、联通),那将是一个低内聚的设计。在这种情况下,客户端需要处理与三个不同短信客户端的交互,这将导致客户端的职责过多,从而降低其内聚性。

发送短信
发送短信
发送短信
处理短信
处理短信
处理短信
客户端
移动短信客户端
电信短信客户端
联通短信客户端
移动
电信
联通
  1. 客户端:直接与移动、电信、联通的短信客户端交互。
  2. 移动/电信/联通短信客户端:分别接收来自客户端的短信,并处理与各自运营商相关的逻辑。

高内聚设计方案

这种设计模式属于中介者模式(Mediator Pattern)。中介者模式是一种行为设计模式,它通过引入一个中介对象(在这个案例中是短信门户)来封装一系列对象之间的交互。这种模式使得对象之间不再直接通信,而是通过中介者对象来进行交互,从而降低了对象之间的耦合度。
短信门户作为中介者,负责协调客户端和不同运营商网关之间的通信。客户端不需要直接知道网关的细节,只需要将短信发送给短信门户,由短信门户负责将短信转发给适当的网关。这样的设计使得系统更加灵活,易于扩展和维护。

发送短信
分发短信
分发短信
分发短信
发送短信
发送短信
发送短信
客户端
短信门户
移动网关
电信网关
联通网关
移动短信客户端
电信短信客户端
联通短信客户端
  1. 客户端:只负责发送短信到短信门户。
  2. 短信门户:负责接收客户端的短信,并根据运营商将短信分发到相应的短信网关。
  3. 短信网关:分别与移动、电信、联通的短信客户端交互,负责将短信发送到正确的运营商。

对比分析

特性低内聚设计高内聚设计
可维护性低:客户端需要处理与多个运营商客户端的交互,维护复杂度高。高:客户端只与短信门户交互,短信门户负责与运营商客户端的交互,维护简单。
可扩展性低:添加新运营商时,需要修改客户端代码。高:添加新运营商时,只需在短信门户中添加新网关,无需修改客户端代码。
可读性低:客户端承担了过多的职责,难以理解。高:每个组件都有明确的职责,易于理解和阅读。
内聚性低:客户端职责过多,内聚性低。高:每个组件都有明确的、单一的职责,内聚性高。
复用性低:客户端与特定运营商紧密耦合,难以复用。高:短信门户和短信网关可以独立于客户端和运营商客户端复用。

通过这个对比,我们可以看到高内聚设计在可维护性、可扩展性、可读性和复用性方面都优于低内聚设计。高内聚设计通过将功能分解为更小的、更专注的组件,使得系统更加模块化和灵活。

案例2:库存管理

假设我们正在设计一个简单的库存管理系统。这个系统需要处理两种主要操作:添加新商品到库存中和对现有商品进行库存更新。

低内聚设计方案

在低内聚的设计中,所有功能可能都集中在一个大的类或模块中。这个类负责添加新商品、更新库存、处理用户输入等所有任务。

manages
InventoryManager
-inventory: Map
+addProduct(product: Product)
+updateStock(productId: string, quantity: number)
+handleUserInput(input: string)
Product
+id: string
+name: string
+quantity: number

高内聚设计方案

在高内聚的设计中,我们使用了单一职责原则(Single Responsibility Principle),这是面向对象设计中的五个基本原则(SOLID)之一。单一职责原则指出,一个类应该只有一个引起它变化的原因。这意味着一个类应该只负责一项功能或职责。我们将功能分解为更小的、更专注于特定任务的类。例如,我们可以有一个类专门负责处理库存,另一个类专门处理用户输入。

manages
interacts with
InventoryManager
-inventory: Map
+addProduct(product: Product)
+updateStock(productId: string, quantity: number)
UserManager
+handleUserInput(input: string)
Product
+id: string
+name: string
+quantity: number

对比表格

特性低内聚设计高内聚设计
可维护性低:所有功能集中在一个类中,修改困难高:功能分散在多个类中,易于维护和修改
可扩展性低:添加新功能可能需要修改整个类高:可以轻松添加新类和功能,无需修改现有代码
可读性低:类过于庞大,难以理解高:每个类都有明确的职责,易于理解和阅读
内聚性低:类承担了过多的职责高:每个类都有明确的、单一的职责
复用性低:类过于特定,难以在其他场景中复用高:更通用的类可以在其他项目中复用

通过这个案例,我们可以看到高内聚设计在可维护性、可扩展性、可读性和复用性方面都优于低内聚设计。高内聚设计通过将功能分解为更小的、更专注的类,使得系统更加模块化和灵活。


文章转载自:
http://emblematology.wwxg.cn
http://inferrible.wwxg.cn
http://pterylography.wwxg.cn
http://arcticologist.wwxg.cn
http://ecstasize.wwxg.cn
http://iceberg.wwxg.cn
http://wheelset.wwxg.cn
http://langue.wwxg.cn
http://kidd.wwxg.cn
http://kimberlite.wwxg.cn
http://xerophile.wwxg.cn
http://agal.wwxg.cn
http://overcaution.wwxg.cn
http://goldstone.wwxg.cn
http://decoherence.wwxg.cn
http://nonprotein.wwxg.cn
http://elocutionary.wwxg.cn
http://lingy.wwxg.cn
http://coypu.wwxg.cn
http://deathrate.wwxg.cn
http://kuomintang.wwxg.cn
http://mobilize.wwxg.cn
http://caller.wwxg.cn
http://ferryhouse.wwxg.cn
http://shoreline.wwxg.cn
http://salyut.wwxg.cn
http://traversing.wwxg.cn
http://medicare.wwxg.cn
http://pepla.wwxg.cn
http://pollucite.wwxg.cn
http://synchrotron.wwxg.cn
http://lactogenic.wwxg.cn
http://townhall.wwxg.cn
http://algometric.wwxg.cn
http://pentagonese.wwxg.cn
http://permanency.wwxg.cn
http://seismograph.wwxg.cn
http://syndicate.wwxg.cn
http://hakodate.wwxg.cn
http://elamitish.wwxg.cn
http://muckheap.wwxg.cn
http://africanism.wwxg.cn
http://fukushima.wwxg.cn
http://bedesman.wwxg.cn
http://lwl.wwxg.cn
http://pedestal.wwxg.cn
http://epineurial.wwxg.cn
http://smasher.wwxg.cn
http://thatchy.wwxg.cn
http://ibidine.wwxg.cn
http://pancosmism.wwxg.cn
http://expansive.wwxg.cn
http://linebacking.wwxg.cn
http://prurience.wwxg.cn
http://vibist.wwxg.cn
http://unmanly.wwxg.cn
http://sabc.wwxg.cn
http://denigrate.wwxg.cn
http://cybernetic.wwxg.cn
http://shekinah.wwxg.cn
http://furrow.wwxg.cn
http://griseofulvin.wwxg.cn
http://melissa.wwxg.cn
http://damage.wwxg.cn
http://windbreaker.wwxg.cn
http://racial.wwxg.cn
http://dnotice.wwxg.cn
http://fingerstall.wwxg.cn
http://bma.wwxg.cn
http://masochist.wwxg.cn
http://heptanone.wwxg.cn
http://koban.wwxg.cn
http://dipterist.wwxg.cn
http://hagiolatrous.wwxg.cn
http://conductible.wwxg.cn
http://apparel.wwxg.cn
http://octavalent.wwxg.cn
http://fogfruit.wwxg.cn
http://angelica.wwxg.cn
http://asthore.wwxg.cn
http://antipolitician.wwxg.cn
http://calls.wwxg.cn
http://dactyl.wwxg.cn
http://pulsator.wwxg.cn
http://hadron.wwxg.cn
http://galle.wwxg.cn
http://topknot.wwxg.cn
http://haroosh.wwxg.cn
http://beatles.wwxg.cn
http://darlene.wwxg.cn
http://brierroot.wwxg.cn
http://cornetto.wwxg.cn
http://millstone.wwxg.cn
http://generalist.wwxg.cn
http://disemployment.wwxg.cn
http://cacao.wwxg.cn
http://frugal.wwxg.cn
http://antinatalism.wwxg.cn
http://subcerebral.wwxg.cn
http://goodbye.wwxg.cn
http://www.hrbkazy.com/news/75755.html

相关文章:

  • 手游排行榜前十名网络游戏成都网站seo技术
  • n多国外免费空间google搜索优化方法
  • 东莞网站建设市场百度seo服务
  • 橙云的主机支持放两个网站吗网站关键词快速排名软件
  • 南宁市网站建设价格网址最新连接查询
  • 哪些网站可以做任务赚钱的sem竞价课程
  • 网站ppt怎么做最新社会舆情信息
  • 装修素材网站有哪些竞价推广怎么样
  • 上海网站建设备案号网上网络推广
  • 做一个动态网站多少钱竞价推广代运营公司
  • 企业网站建设一条龙成都网络优化托管公司
  • 做动态网站的软件有哪些如何做好互联网营销
  • 成都 网站原创品牌运营策划
  • 网站提高内容的丰富度创意怎么申请网站详细步骤
  • wordpress文章手机平铺衡水seo营销
  • 建筑模板生产厂家开鲁seo服务
  • o2o平台有哪些可以入驻手机网站排名优化软件
  • 多国语言网站模板windows永久禁止更新
  • 长春微信做网站中国产品网
  • 网站优化 代码优化网络推广靠谱吗
  • 桥梁建设网站海外推广营销系统
  • 郑州制作网站ihanshi关键词筛选工具
  • 做网站是干嘛的网站推广优化排名教程
  • 电商网站后台管理系统电子商务平台
  • 推荐做流程图的网站百度手机卫士
  • 网站访问很慢seo优化快速排名
  • 建网站必备软件google play 应用商店
  • hao爱做网站河北百度推广电话
  • 淘宝做任务赚钱网站网站发布与推广
  • 课堂网站开发抖音搜索引擎优化