系统架构师之高内聚低耦合

一、概念:

标记耦合(Stamp Coupling)和数据耦合(Data Coupling)是软件设计中两种不同的耦合类型,它们之间的区别如下:

  1. 标记耦合:标记耦合是指模块之间通过参数传递标记或标识符来进行通信的程度。这种耦合方式需要模块之间共享标记或标识符,依赖于标记或标识符的具体实现。标记耦合的特点是:
  • 模块之间通过参数传递标记或标识符来进行通信。
  • 模块之间共享标记或标识符,依赖于标记或标识符的具体实现。
  • 模块之间的耦合度较高,难以重用和修改。
  • 标记或标识符的含义和作用需要在模块之间进行共享和理解。

    2. 数据耦合:数据耦合是指模块之间通过参数传递数据来进行通信的程度。这种耦合方式需要 模块之间共享数据,但不依赖于数据的具体实现。数据耦合的特点是:

  • 模块之间通过参数传递数据来进行通信。
  • 模块之间共享数据,但不依赖于数据的具体实现。
  • 模块之间的耦合度较低,易于重用和修改。
  • 数据的含义和作用可以通过数据本身来进行理解。

因此,标记耦合和数据耦合的主要区别在于模块之间的通信方式不同。标记耦合依赖于标记或标识符的具体实现,而数据耦合不依赖于数据的具体实现。数据耦合的耦合度较低,易于重用和修改,而标记耦合的耦合度较高,难以重用和修改。

二、高内聚低耦合分类

三、耦合

非功能耦合:模块之间通过共享非功能性的属性或特征来进行通信的程度。这种耦合方式不依赖于模块之间共享的数据或功能,而是依赖于模块之间共享的性能、安全、可靠性等非功能性的属性或特征。

数据耦合:模块之间通过简单参数来传递数据进行通信,简单参数如java中得值传递。

标记耦合:模块之间通过相对复杂参数来传递数据进行通信,复杂参数如结构体,也可以理解为java中得引用传递。

外部耦合:这种耦合关系通常是通过接口或者协议进行的,例如两个系统之间的接口协议、两个不同的软件系统之间的接口等。

公共耦合:公共耦合是指多个模块之间共享同一个全局变量、常量、数据结构等共同的资源,从而形成的耦合关系。这种耦合关系使得多个模块之间紧密地相互依赖,对系统的可维护性和可扩展性产生不良影响。如不同部件通过消息中间件来传输数据。公共耦合表面上耦合度高,但从架构角度,不同部件可以专注自己的事情,也能提高复用并发,其实部件是解耦度是高的。

内部耦合:内部耦合是指一个系统中两个或多个模块之间的耦合关系,这些模块都属于同一个系统或同一个软件模块。这种耦合关系通常是通过共享数据、共享代码、共享变量等方式实现的。内部耦合是系统中最常见的耦合方式之一,但是它也是造成系统耦合度高、代码复杂度高、可维护性差等问题的主要原因之一。

四、内聚

功能内聚:模块内的元素都是为了实现同一个功能而存在的,例如所有与用户认证相关的函数都放在同一个模块中。

顺序内聚:模块内的元素都是按照一定的顺序依次执行的,例如一个读取文件的函数内部包含了打开文件、读取文件内容和关闭文件等操作。

通信内聚:模块内的元素都是为了实现某种通信或协作而存在的,例如一个客户端与服务器通信的模块内包含了发送数据、接收数据和处理数据的函数。

过程内聚:模块内的元素都是为了实现某一个过程而存在的,例如一个模块内包含了对数据进行排序、查找和过滤等操作的函数。

瞬时内聚/时间内聚:时间内聚是指一个模块内的元素都是在同一个时间段内执行的,例如一个模块内包含了所有与启动和关闭系统有关的函数

逻辑内聚:逻辑内聚是指一个模块内的元素都是为了实现一个逻辑或者功能相关的操作而存在的,例如一个模块内包含了所有与用户登录相关的函数

偶然内聚:偶然内聚是指一个模块内的元素之间没有明显的关联性,它们只是因为某些偶然的原因被放在同一个模块中,例如一个模块包含了所有与文件操作、网络通信、数据库访问等操作相关的函数

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/352413.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

怎样把m4a转换成mp3格式?

怎样把m4a转换成mp3格式?大家都知道m4a音频格式兼容性差,这已成为许多小伙伴头疼的问题,因为很多人不会m4a转mp3的方法,从而导致m4a音频无法正常播放。在过去,想把m4a转换成mp3格式确实有一定的难度,但是如…

m4a怎么转换成mp3格式?

最近总有伙伴问我:“小编,m4a怎么转换成mp3格式?有没有什么简单有效的方法”。其实要想把m4a转换成mp3格式,转换工具就是钥匙,有了这把钥匙你就能更快地打开m4a转mp3格式的大门了。所以,选择好转换工具&…

如何快速的把m4a转换成mp3格式

无论是把m4a转换成mp3格式,还是把其他别的格式转换成mp3格式,一直都是有搜索热度的问题。虽然近两年把m4a转换成MP3的解决方法有很多,但是依旧满足不了小伙伴们寻找转换方法的现状。最主要的原因不是大家找不到转换成MP3的方法,而…

怎样把m4a转换mp3格式?

怎样把m4a转换mp3格式?m4a是苹果手机上的录音文件格式,随着苹果手机的广泛普及,m4a音频文件使用也越来越多,有的小伙伴将m4a音频文件转载到电脑上后,会因为兼容性的问题导致m4a文件不能打开播放。由于m4a是苹果公司开发…

m4r是什么文件格式?m4r怎么转成mp3?

你知道m4r是什么文件格式吗?如果你不知道是正常的,因为它真的太少见了,其实m4r是iPhone铃声的一种音频格式,简单的说m4就是音质音频文件的格式,并且实在iPhone手机上使用。如果你是安卓手机,是不能打开这种…

如何将录音m4a转换为mp3格式?

如何将录音m4a转换为mp3格式?前段时间由于工作原因,需要上传录音文件到一个网站上,可是这个录音文件怎么也上传不上去,查看原因后才发现原来网站只支持mp4的音频文件,而我是用苹果手机录音的,录音文件是m4a…

m4a怎么转换mp3格式?详细的步骤

有经常下载歌曲的小伙伴们,一定遇到过m4a格式的音频文件,这种格式的音频文件因为自身适配性的原因,导致很多播放器是无法对其进行正常播放,所以用户要想使用此格式的视频,就不得不把它转成主流格式mp3,这样…

m4a音频转换mp3格式的方法

很多朋友都在问m4a音频转换mp3格式的方法这个问题,小编根据大家的实际要求和诉求在网上寻找了很多的m4a转换成mp3的方法,这些方法都可以将m4a转换成mp3,但是在速度和稳定性方面有所差异。尤其是在使用的软件方面,每个软件中所具备…

m4a格式怎么转换成mp3,非常简单

m4a格式怎么转换成mp3?m4a是一种文件的扩展名,确切的说是一种音频文件格式。 为了区分mpeg-4中的音频和视频文件,苹果率先使用m4a格式替换了mpeg-4中的音频文件扩展名。 因为m4a主要应用于苹果手机,苹果手机的用户量很大&#xff…

如何把m4a转换成mp3?音频格式转换步骤

最近有好多朋友反映自己手机录音机里文件是m4a格式的,那这样m4a格式的音频在音响,播放器或者很多别的软件中都是无法进行播放的,而且m4a格式的音频在传输中还会受到一定的限制,这个时候我们就需要把m4a转换成常用的Mp3音频格式来完…

m4r转mp3格式用什么音频转换器好

经常玩弄铃声制作的童鞋也许比较清楚m4r是什么格式,m4r是iphone铃声的一种音频格式,在国内的一些iPhone铃声资源站或者是苹果iTunes上都是有得下载,不过对于安卓或者非ios系统的手机来说,它们并不支持m4r格式音频,这个…

如何将mp4视频转换成m4r音频

把mp4转换成m4r格式,很明显,mp4是视频格式,m4r是音频格式,视频转音频!还可以说成是提取视频中的音频或声音,其实这种需求在用户当中还是有一些的,比如需要提取某部电脑里面某段声音,…

m4s格式转换mp3_高质量音频转换器,如何转换成mp3音频格式

日常生活中,听歌的朋友们肯定少不了在某系歌曲平台下载歌曲,不同的音质或者不同的平台都有自己特有的格式,有时我们想要在出门的时候在手机播放或者开车的时候在车载设备播放歌曲,那么有些播放器会对格式有有求,一般MP…

如何将M4A格式的音频转换为MP3格式?只需一步搞定

随着网络技术的发达,会有很多人喜欢在网上下载东西,特别是很喜欢在网上下载音乐,但是下载音乐之后发现是M4A格式?这样用起来很不方便,都喜欢MP3格式的,那么如何将M4A格式的音频转换为MP3格式?今…

m4a转如何快速转换为wav格式呢

大家都知道,华为手机的录音格式一般是m4a格式,如果我们录了一段比较有趣的音频,分享给朋友,但是对方由于手机型号不同,无法打开,那岂不是很可惜?M4A格式的音质很好,各方面都不错&…

mp3怎么转换成m4r

很多人都了解mp3格式,但是有很多人不了解m4r格式是什么,这里小编先给大家普及一下,m4r是iPhone铃声的一种音频格式。iphone系统自带来电铃声包括马林巴琴、弹簧声、颤音、弹球声、钢琴重复段、狗吠、吉他扫弦等25个铃声,格式为m4r…

如何将MP3格式音乐转换成M4R格式

MP3是非常标准的音频数字编码格式。区别于其他格式的优势在于,它可以在不降低音质的前提下,大幅的降低文件的大小。因此MP3格式应用范围极广,我们日常生活中用到的歌曲格式也多为MP3。市面上几乎所有的电子设备都可以识别并播放此种格式文件&…

android铃声格式转换,m4r格式转换器——iphone铃声制作工具(mp3转换m4r)

随着iphone现在越来越街机了。刚拿iphone的朋友都不习惯一个问题,就是iphone的铃声难设置,自带铃声只有那么几首,造成很多朋友的iphone手机铃声都是“马林巴琴”这首老相识,小编就因为一直手机默认是“马林巴琴”,结果…

Python 获取公开信息

大众点评店铺页面最大分页数是50页,要抓取信息就是通过区域、店铺类型分解到最小达到尽可能全的抓取。以成都餐饮为例,每种分类先取到最小,区域范围依次从成都到区县到街道,如果大区域该分类小于50页就可以抓取,否则继…

项目干系人管理实用方法,让你的项目顺风顺水

项目管理中的干系人是每个项目的一个重要方面,因为项目的结果取决于他们。然而,管理各种各样的干系人的艺术很有挑战性。在项目管理中根本没有出错的余地,本文将带你了解项目干系人以及如何管理他们以促进项目的全面成功。 谁是项目管理的干…