首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

得墨忒耳与REST的关系

得墨忒耳(Demeter)是一个与软件开发和计算机网络相关的概念,它是一种面向对象编程的原则,也称为“封装原则”。而REST(Representational State Transfer,表述性状态转移)是一种用于设计网络应用程序的架构风格。

在软件开发中,得墨忒耳原则要求对象应该尽量减少与其他对象的交互,从而降低耦合度。这可以通过将对象的内部状态封装起来,并通过明确定义的接口与其他对象进行交互来实现。这种封装可以提高代码的可维护性和可读性,并降低出错的可能性。

得墨忒耳原则与REST的关系在于,它们都是用于指导软件开发的原则和架构风格。REST是一种基于HTTP协议的架构风格,它提倡使用简单的HTTP方法(如GET、POST、PUT和DELETE)来操作资源,并通过URI(统一资源标识符)来标识资源。这种架构风格的主要目标是提高可维护性和可扩展性,并简化网络应用程序的开发。

在实际应用中,得墨忒耳原则可以用于设计对象模型,而REST则可以用于设计网络接口。这两者可以结合使用,以实现更加可维护、可扩展和可读的软件系统。例如,可以使用得墨忒耳原则来设计对象模型,并通过RESTful API来暴露这些对象的状态和行为。

推荐的腾讯云相关产品:

  • 云服务器:提供可扩展的计算能力,支持多种操作系统和应用程序。
  • 云数据库:提供可扩展的数据存储和管理能力,支持多种数据库类型。
  • 负载均衡:提供可扩展的网络负载均衡能力,支持多种协议和负载均衡策略。
  • 云存储:提供可扩展的数据存储和管理能力,支持多种存储类型。
  • 云硬盘:提供可扩展的块存储能力,支持多种硬盘类型。
  • 虚拟私有云:提供可扩展的网络资源管理能力,支持多种网络拓扑和访问控制策略。

相关产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Objective-C 中我接受的点符号

不管怎么样样,点符号还是可以的。 好了,这是我说的。 我曾一直是点符号的坚定反对者。我认为它掩盖了消息传递,并鼓励程序员通过链式点语法来违反 "得墨忒耳定律(Law of Demeter) "。...但关键就在这里:ReactiveCocoa 的功能性反应编程风格依赖于键值观察(KVO)。 与 KVO 相比,我更喜欢使用通知的主要原因是,我喜欢使用单独的方法来处理模型变化的不同方面。...如果你要使用我的课程,我不想因为我碰巧用某种方式编码,就切断你与编程工具的联系。 属性链接了 self. 所以只能 "使用自己的setter"。我不想用一种样式来设置值,而用另一种样式来获取值。...因此,通过采用点符号,我希望我的代码能减少干扰,这样你就能专注于我试图展示的原理。 点符号:仍在关注得墨忒耳定律 我仍然时刻关注着点符号的数量,对得墨忒耳定律保持着敏感。...连锁点仍然散发着不恰当的亲密关系的味道。因此,多于一个点(self.不算)让我质疑,为什么对属性的属性做手脚与代码无关。不过,这也许是后话了...... 就是这样。圆点,耶。

10710

2022-10-16-整洁代码的对象和错误处理

对象和数据结构 不要轻易的就写 getter 方法获取类内的属性值,是思考目的是什么,有时用有意义的函数返回这个值,可以隐藏自己内部的细节 “著名的得墨忒耳律(The Law of Demeter)认为...,模块不应了解它所操作对象的内部情形……方法不应调用由任何函数返回的对象的方法。”...说是 getOptions 返回的对象,不应该再去知道它的内部细节,想想这原则不可能实现啊。...ctxt.options.scratchDir.absolutePath 就没关系,说提供一个方法,比如在 ctxt 中加一个 getOptionScratchPath() 返回,这样隐藏了细节,可以理解...可以将调用,异常处理单独封装到一个类,然后所有异常都抛出自定义的异常。还有一个好处,如果是第三方的 API 定义的异常类型,不需要在外部调用时出现这 API 里特有的异常,而是出现自己的异常。

32820
  • 代码整洁之道-读书笔记之对象和数据结构

    要以最好的方式呈现某个对象包含的数据,需要做严肃的思考。傻乐着乱加取值器和赋值器,是最坏的选择。2....数据、对象的反对称性面向过程编程和面向对象编程是对立的面向过程编程:便于在不改动既有数据结构的前提下添加新函数(难以添加新的数据结构,因为必须要修改所有函数)面向对象编程:便于在不改动既有函数的前提先添加新类...得墨忒耳律著名的得墨式耳律(The Law of Demeter) '认为,模块不应了解它所操作对象的内部情形。如上节所见,对象隐藏数据,曝露操作。...更准确地说,得墨式耳律认为,类C的方法f只应该调用以下对象的方法:1.当前类C2.由f创建的对象;3.作为参数传递给f的对象;4.由C的实体变量(成员变量的一种)持有的对象。...它们的出现,展示了一种乱七八糟的设计,其作者不确定——或者更糟糕,完全无视——他们是否需要函数或类型的保护。

    34660

    Objective-C 中的点符号一定是恶魔吗?

    消息的点符号不仅仅是 Objective-C 代码的味道。我告诉你,它是恶魔! 更新:我最近改变了主意!请参阅我的文章《我接受的点符号...》...本文是Objective-C 中的代码气味系列文章中的一篇。* ......是的,这是夸张的说法。在有点符号的项目中,我确实能与点符号共存。但我不会自己写。...3、点符号助长了违反 "得墨忒耳定律(Law of Demeter) "的行为 你经常看到这样的代码吗?你多长时间写一次? foo.bar.baz.qux = 10; 这有什么问题吗?...问题是,无法阅读是有原因的:它违反了 "德墨忒尔定律"。 如果你对 "德墨忒尔定律 "还不熟悉,它是指让物体之间过于熟悉,从而污染了物体之间的清晰界限。这里有一个快速记忆的方法:你可以挑你的朋友。...但你不能挖你朋友的鼻子。 所有这些拼凑在一起的括号都是一个线索,表明你可能在不属于你的地方(你朋友的鼻子里)窥探。这是一种代码气味,表明责任可能放错了地方。

    10910

    《代码整洁之道》笔记(4-6章节)

    本文最后更新于 388 天前,其中的信息可能已经有所发展或是发生改变。 注释 什么也不会比陈旧,提供错误信息的注释更有破坏性。 若编程语言有足够的表达力,就根本不需要注释。...个人认为注释还是要写,算是对代码的中文翻译,因为我们的英语水平,命名习惯各不相同。 注释掉的代码 其他人不敢删除注释掉的代码。...向报纸学习 从上往下阅读,先看到主题,再看到详细的描述。 概念间垂直方向上的区隔 使用空白行来间隔代码,标识出新的概念,读者的目光总是会停留于空白行之后的哪一行。...数据、对象的反对称性 过程式代码(使用数据结构的代码)便于在不改动既有数据结构的前提下添加新函数;面向对象代码便于在不改动既有函数的前提下添加新类。...得墨忒耳率 函数只能调用本类的函数、本类属性的函数、方法参数对象的函数。 混杂 避免在实体类里写业务代码。 数据传输对象 即DTO。 Post Views: 278

    17910

    Github上1.6W星的「黑魔法」,早知道就不会秃头了

    现实世界的例子:2014 年,对四个健康的数字社交网络进行的一项研究发现,排名前 1% 的人创造了 73% 的帖子,紧随其后的 9% 平均占 25%,其余的 90% 的人平均占 2%。...破窗效应 在破窗理论中认为,一些明显的犯罪迹象(或缺乏环保意识)会导致进一步的、更严重的犯罪(或环境的进一步恶化)。...那么向执行程序的系统添加多个处理器只能获得有限的好处。 它可以极大地提升部分 B 的运行速度,但部分 A 的运行速度将保持不变。...德墨忒尔定律 得墨忒耳定律又称最少知识原则,是一条与面向对象语言有关的软件设计原则。 该定律表明,软件的一个单元应该只与其直接合作者交谈。...职场相关原则 死海效应原则:在任何一个组织中,工程师的技能、才华和效能往往与他们在公司的时间呈反比。 能力强的人更有可能离开,能力差的人反而会留下。

    39710

    【五分钟阅读系列】程序员修炼之道——8:正交性

    这种分层的途径是设计正交系统的强大方式。因为每层都只使用在其下面的层次提供的抽象,在改动底层实现、而又不影响其他代码方面,你拥有极大的灵活性。分层也降低了模块间依赖关系失控的风险。...你将常常看到像下一页的图2.1这样的图表示的层次关系。   对于正交设计,有一种简单的测试方法。一旦设计好组件,问问你自己:如果我显著地改变某个特定功能背后的需求,有多少模块会受影响?...不要依赖你无法控制的事物属性。 工具箱与库   在你引入第三方工具箱和库时,要注意保持系统的正交性。要明智地选择技术。   ...试一试我们将在183页的“解耦与得墨忒耳法则”中讨论的得墨忒耳法则(Law of Demeter)[LH89]。如果你需要改变对象的状态,让这个对象替你去做。...另外,如果你是直升机驾驶员,不要吃鱼…… 相关内容: l 重复的危害,26页 l 源码控制,86页 l 按合约设计,109页 l 解耦与得墨忒耳法则,138

    2.4K20

    优秀程序员的 18 大法则

    优秀程序员的 18 大法则 经过多年的积累,我发现,下面这些基本的指导法则,可以帮助我成为一个更加高效的程序员。 程序设计法则,与设计和工程的原理密切相关。...为维护者写代码 值得写的代码要保证将来一定值得维护。未来的你由于经历的代码太多,也许再回过头来看这些代码的时候,也和其他人一样,已经成为了一个完全的陌生人。...遵守标准约定,注释说什么代码就做什么,命名是什么意思代码就是什么意思,尽可能地避免惊讶导致的潜在的负面影响。 单一职责原则 代码(如类或函数)的组成部分执行的应该是一个单一的明确的任务。...隐藏实现细节原则 隐藏实现细节,允许在改变代码组件的实现的同时,最低限度地减少对使用该组件的其他模块的影响。...得墨忒耳定律 代码组件应该只和它们的直接关系(如,继承的类,包含的对象,通过参数传递的对象等)沟通。 避免过早优化原则 除非代码开始工作,否则甚至就不要有优化的念头。

    65150

    【读后总结】程序员修炼之道---从小工到专家

    ,养成这些良好素质是非常有必要的;对于已经入职多年的程序员,回顾一下本书,然后结合自身情况看看是否能够基本达到本书中的一些素养也是有必要的。...整体而言,有一定的经验性总结,相对来说比较基础,对开发者也有一定的作用;对我个人而言,里面很多的素养、设计规范之类都有一定了解,不过可能平时做的不够彻底,因此看完之后,还是有一定的收获,至少有了这样的文档性的总结...,或者数据结构的改变,要做到撤销的最小代价,注意项目永远没有最终最确定的抉择 代码架构的设计要保持灵活性、隔离性、可替代性;如某种负载均衡算法的替换,如istio数据平面的替换等。...3,解耦合【正交性】 划分出细粒度的模块,然后各个模块之间解耦合,比如有一个函数的得墨忒耳法则.得墨忒耳定律也叫做“最少了解原理”,是一种软件设计原理,尤其是应用到面向对象的程序设计中,基本原理为:...6,软件程序的并发和次序 时间是软件架构的一个经常被忽略的方面,这里的时间指的是程序自身的时间因素: 并发:同一时间发生多个事件 次序:事件在时间中的相对位置 尤其是互联网的开发设计中,并发是一个不可忽视的因子

    54321

    科技是倒退了吗?美国50年之后才能再次开启探月之旅

    我们先来回顾一下最新的事件, 新华社洛杉矶11月15日电(记者谭晶晶)美国东部时间16日1时47分(北京时间16日14时47分),美国航天局新一代登月火箭“太空发射系统”首次发射升空,执行“阿耳忒弥斯1...据美国航天局介绍,此次“阿耳忒弥斯1号”任务时长约25天11小时,“猎户座”飞船飞行距离约209万公里(130万英里)。飞船预计于12月11日返回地球,溅落在美国加利福尼亚州圣迭戈附近海域。...美国航天局表示,“阿耳忒弥斯1号”无人绕月飞行测试任务是美国一系列月球探索任务的第一步,将为后续载人探月任务奠定基础。...此前,美国航天局先后因火箭引擎故障和火箭燃料输送故障,两度推迟“阿耳忒弥斯1号”任务发射。 “阿耳忒弥斯”是美国政府2019年宣布的新登月计划,最初计划在2024年前将美国宇航员再次送上月球。...在宇航员登陆前,美国航天局计划开展代号为“阿耳忒弥斯1号”的无人绕月飞行测试和代号为“阿耳忒弥斯2号”的载人绕月飞行测试。

    47520

    美国登月技术退步了?50年前就能载人着陆,怎么现在只能带着史努比绕一圈

    北京时间今晚8点,承载着阿耳忒弥斯计划的SLS火箭,将在肯尼迪航天中心发射升空,整个飞行旅程为期42天。 一旦发射成功,就意味着阿波罗时代之后,NASA再度重启登月计划,预计在2025年完成登月。...阿耳忒弥斯计划 阿耳忒弥斯计划Artemis,2017年正式发布,计划在2024年完成载人绕月,最终目标是在2028年前在月球表面建立永久基地,为登陆火星和更深层次的深空探测任务奠定基础。...随着“阿耳忒弥斯”计划启动,这方面的质疑更加直接: 明明50年前已经登月成功了,为什么还要再折腾一次?...而且也就意味着,阿耳忒弥斯计划要比阿波罗计划飞更远。虽然月球是阿波罗宇宙飞船的最后一站,但它是猎户座飞船的第一站,它最终将越过月球到达火星。...中国计划在2030年实现载人登月,确实也是“阿耳忒弥斯”计划前进的动力之一。

    32410

    《代码整洁之道》

    Martin) 第1章 整洁代码 写整洁代码,需要遵循大量的小技巧,贯彻刻苦习得的“整洁感”。这种“代码感”就是关键所在。有些人生而有之。有些人费点劲才能得到。...代码逻辑应当直截了当,叫缺陷难以隐藏;尽量减少依赖关系,使之便于维护;依据某种分层战略完善错误处理代码;性能调至最优,省得引诱别人做没规矩的优化,搞出一堆混乱来。整洁的代码只做好一件事。...更恶劣的是,就像破损的窗户,一旦细节与基础概念混杂,更多的细节就会在函数中纠结起来。 我们想要让代码拥有自顶向下的阅读顺序。...那种领域特定语言的一个部分,就是描述在系统中发生的各种行为的函数层级。在一种狡猾的递归操作中,这些行为使用它们定义的与领域紧密相关的语言讲述自己那个小故事。 第4章 注释 注释并不像辛德勒的名单。...第6章 对象和数据结构 著名的得墨忒耳律(The Law ofDemeter)认为,模块不应了解它所操作对象的内部情形。如上节所见,对象隐藏数据,曝露操作。

    91120

    NASA登月飞船马斯克造:SpaceX获29亿美元首个商业载人着陆器大单,最早2024上月球

    根据「阿耳忒弥斯」计划,人们将重返月球视为朝着火星迈出的一步。...而在 2024 年时,阿尔忒弥斯 3 号将正式执行登月任务,届时会携带猎户座号飞船与月球着陆器并将宇航员送至月球表面。 ?...这一方法使 NASA 与业界能够将各自的专长和能力结合起来,形成合作关系,一同应对挑战,直到 NASA 可以购买这些商业登月服务,并定期执行登月任务。...这一方案利用了 Dynetics 此前在国防和军事合同中与大量分包商合作的经验。...在贝佐斯和蓝色起源的其他高管看来,这份登月合同至关重要,不仅关乎蓝色起源能否成为 NASA 的合作伙伴,也关系到公司能否实现盈利。

    38730

    AI的哲学系思考—认知不变性与AI

    而她的母亲,大地女神得墨忒耳 (Demeter) 悲伤不已,使大地变得寒冷而贫瘠,也就变成了人间的冬天。...先不说这之中的不变性是否存在,就只说其内在逻辑,如果冬天是因得墨忒耳的悲伤而造成的,那么它必须同时发生在地球上的所有地方。所以如果古希腊人知道澳大利亚在得墨忒尔最悲伤的时候是最热的.........AI 与 HTV 的关系 通常来说,HTV 可以这么解释:对应一个特定的理论,有多少个等价的解释存在。例如,在机器学习的环境中,HTV 原理可以分别应用于各种类型的模型架构,每一种都有固定数量的参数。...然后,利用这些先验知识,他们将为该关系派生或猜测一种功能形式,使其适合数据,并查看其工作情况。重要的是,该功能保持相对简单,因此仍然可以理解 - 除了准确预测之外,还存在理解的隐含需求。...AI 的关系,为了让 HTV 真正对 AI 算法产生效果,还有很多细节需要确定,比如说 HTV 可以解决 AI 的具体什么问题,怎么解决等等。

    46630

    【设计模式】第一篇:概述、耦合、UML、七大原则,详细分析总结(基于Java)

    三 UML 类图及类图之间的关系 在一个相对完善的软件系统中,每个类都有其责任,类与类之间,类与接口之间同时也存在着各种关系,UML(统一建模语言)从不同的角度定义了多种图,在软件建模时非常常用,下面我们说一下在设计模式中涉及相对较多的类图...(5) 泛化关系 泛化描述一般与特殊(类图中“一般”称为超类或父类,“特殊”称为子类)的关系,是父类和子类之间的关系,是一种继承关系,描述了一种 is a kind of 的关系,特别要说明的是,泛化关系式对象之间耦合度最大的一种关系...)); a.meetTeacher(); a.meetStudents(); } } 补充:迪米特法则在《程序员修炼之道》一书中也有提及到 —— 26 解耦与得墨忒耳法则...函数的得墨忒耳法则试图使任何给定程序中的模块之间的耦合减至最少,它设法阻止你为了获得对第三个对象的方法的访问而进入某个对象。...通过使用函数的得墨忒耳法则来解耦 编写“羞怯”的代码,我们可以实现我们的目标: Minimize Coupling Between Modules 使模块之间的耦合减至最少 (七) 合成复用原则 定义

    86251

    Github标星1.6W+,程序员不得不知的“潜规则”又火了,早知道就不会秃头了

    德墨忒尔定律 得墨忒耳定律又称最少知识原则,是一条与面向对象语言有关的软件设计原则。 该定律表明,软件的一个单元应该只与其直接合作者交谈。...墨菲定律 (Murphy's Law / Sod's Law) 凡是可能出错的事就一定会出错。 墨菲定律 说明了如果一件事有可能出错,那么就一定会出错。...死海效应表明,在任何一个组织中,工程师的技能、才华和效能往往与他们在公司的时间呈反比。 通常情况下,技术好的工程师很容易在其他的地方找到工作,并且他们往往也会这样做。...知道正在更改的组件只有一个功能,这意味着测试更改更容易。使用前面的例子,更改密码复杂性组件应该只影响与密码复杂性相关的功能。变更具有许多功能的组件可能要困难得多。...那时的他们正面临着一个挑战,即他们参与设计的喷气式飞机必须能够让普通的机械师在战场上仅仅用这些工具进行维修,因此,“直白”这个词应指的是损坏的事物本身和修复用工具的复杂度两者之间的关系,而非工程师们自身的能力水平

    40310

    和 Hinton 一起发明了深度信念网络,他们选择加入 DeepMind

    state-persistence(例如短期的,长期的,内存堆栈和联想记忆库)的模型; 通过基于分布式表征的某种推理引擎来综合事实性和关系性知识库。...而实际上希腊人跑出来把人都杀了个光 符号逻辑:帕里斯,外表好看,还没实际见过面就得到了海伦,战斗力不强,但有时候运气很好,一对一拼不过墨涅拉俄斯,死于菲罗克忒忒斯的弓下 谷歌:海伦的丈夫墨涅拉俄斯。...他与海伦的婚姻是众人关注的焦点。墨涅拉俄斯不知道海伦被阿芙洛狄忒许给了帕里斯,代价是一个苹果 微软:备受推崇的阿伽门农,有些过时,但仍然有许多珍贵的品质。...家族历史让他与众神的关系有些复杂 Facebook:奥德修斯。战斗一开始躲了起来,但他意识到战斗的必然性后,就积极投入战斗。...战斗时大部分时间都在帐篷里哭(因为跟阿伽门农关系不好),但若受了刺激,还是会努力挣表现的 亚马逊:菲罗克忒忒斯,最早被排除在外,但尾盘时每个人都意识到,他才是掌握杀死帕瑞斯关键硬件的人 “深度学习阴谋论

    78940

    神刊CPB被OUT,跟你的标书有啥关系?标书申请的舍与得~五篇代表作的选择策略~

    如何避坑 历史经验是人类最好的避坑法宝,OT与CPB是那么的~~~ 一年前 差不多同个时间段,医生科研圈被Oncotarget(以下简称OT)~OUT!...历史经验是人类最好的避坑法宝 虽然不能预测未来,但Cellular Physiology and Biochemistry(CPB)与Oncotarget的遭遇太相似了可以推测,如果今年所列代表作减少至...4、Original Article5、与项目科学假说直接相关文章,不直接相关至少是相同的研究领域,相同的肿瘤模型。6、与项目方案所用到的实验方法相关文章,最好是能证明自己曾经做过类似实验的。...7、如果课题组中有合作方,与合作方共同发表的文章。8、以动物模型研究为主的,要有文章证明自己曾经成功建立过模型。减分项:1、五大水刊,PMOS+CPB,almost见光死。...那就好好把标书完善,并且做好二战的准备,标书没有一次就写成的,得靠磨炼~~~ 下面是站长写的有关国自然的文章~站长'说'标书:国自然肿瘤学项目怎样立题?

    29310

    只有程序员能看懂的笑话

    一日,饭后突生雅兴,一番研墨拟纸,并点上上好檀香。定神片刻,泼墨挥毫,郑重地写下一行字:hello world! 不是程序员体会不到hello world的伟大 2....诸葛亮是一个优秀的程序猿,每一个锦囊都是应对不同的case而编写的!但是优秀的程序猿也敌不过更优秀的bug!...六出祈山,七进中原,鞠躬尽瘁,死而后已的诸葛亮只因为有一个错误的case-马谡,整个结构就被break了! 3. 有一天某程序员去买肉,要了一公斤,拿到公平电子秤上一称:“额……怎么少了24克。”...别人笑我忒疯癫,我笑自己命太贱; 不见满街漂亮妹,哪个归得程序员。 8. 记者问一位大爷说:老大爷,您保持年轻的秘诀是什么? 大爷说:白天上班,夜晚加班,节假日值班,一天五包烟,天天吃泡面。...记者问:老大爷,您是干什么工作的? 大爷说:我是程序员! 记者:啊??大爷您今年高寿? 大爷:老子今年35!

    93750

    Nature《自然》| 美国航天局真的能在2024年前让人类重返月球吗?

    美国国家航空航天局的领导人还没有就“阿耳忒弥斯”计划如何进行做出关键决定。“阿耳忒弥斯”是以阿波罗的孪生姐妹阿耳忒弥斯命名的。...伦敦空间政策与法律研究所的研究员Christoph Beischl说:“在未来的一到二十年里,我们肯定会看到中国宇航员登陆月球。”...这枚火箭和猎户座火箭都是美国国家航空和宇宙航行局(NASA)在早期版本的基础上重新设计的,早期版本的任务是派遣宇航员去访问小行星和后来的火星。...共和党控制的参议院还没有就NASA 2020年的预算提案采取行动,其中包括该机构对阿耳特弥斯项目的资金要求。...特朗普与国会在资金问题上旷日持久的斗争,帮助扼杀了特朗普的前任两次重返月球的企图。老布什(George h.w. Bush) 1989年提出的一项计划从未赢得国会的支持。

    78420
    领券