设计异味

✍ dations ◷ 2025-05-17 21:54:07 #计算机编程

设计异味是计算机编程领域,设计所用结构违背了基本设计原则并对设计质量有负面影响。这个术语源自马丁·福勒在《重构-改善既有代码的设计》一书中描述的代码异味。

不同作者对“异味”(smell)有不同的定义:

设计异味指示了积累的设计负债(技术负债的主要维度)。Bug与未实现功能不算是设计异味。设计异味产生于很差的设计决策,使得设计脆弱、难于维护。在一个软件系统中辨别设计异味,应用适当的重构去除异味,避免积累技术负债,是好的实践。

在确定特定结构或决策是否算作设计异味时,上下文环境(如问题清单、设计生态圈、平台等)扮演了重要角色。很多时候,由于上下文环境所限,只好容忍设计异味。

面向对象设计的SOLID五大原则:单一功能原则:一个类只应有一个“改变的原因”(即功能);开闭原则:软件实体(类、模块、函数等)应当对扩展是开放的,对修改是关闭的;里氏替换原则:子类型能替换基类型;依赖反转原则:高层模块不应依赖于低层模块,二者应当依赖于抽象。抽象不应依赖与细节。细节应当依赖于抽象。接口隔离原则:类应当有胖(fat)接口,可被分为方法的分组。每个分组服务于不同的客户集。客户不应当知道这些分组是在同一个类中。

相关

  • 双眼眼(亦称眼睛、目、目睭)是视觉的器官,可以感知光线,转换为神经中电化学的脉冲。比较复杂的眼睛是一个光学系统,可以收集周遭环境的光线,借由虹膜调整进入眼睛的强度,利用可调整的晶
  • ɟʝ浊硬颚塞音(voiced palatal stop、voiced palatal plosive)是子音的一种,其IPA符号为⟨ɟ⟩,而X-SAMPA符号则为⟨J\⟩。匈牙利语是少数有浊硬颚塞音的语言。/ɟ/一般被用来表示
  • 其质量地球质量(M⊕)是一个主要用于度量行星质量的单位,1地球质量等于一个地球的质量,即5.9722 × 1024千克。地球质量通常被用于计量类地行星的质量。太阳系内的四颗类地行星水星、
  • 七月半七月半可以指
  • 杨思标杨思标(1920年6月4日-,英语:Sze-Piao Yang),台湾呼吸内科医师,日本东京新潟大学医学博士。曾任台大医院院长、台湾大学医学院院长、慈济护专(今慈济科技大学)首任校长。杨思标于1920
  • 黄倩萍黄倩萍(1968年8月2日-),是台湾新闻主播之一,现任三立新闻台主播、《前进新台湾》代班主持人。曾任中天新闻台主播、三立新闻台《54新观点》主持人,其外语能力相当不错,并成功考取外
  • 椒江区椒江区(台州话:Tsiao-kông K'ü)为中国浙江省台州市的一个区。面积276平方千米,人口约47万。邮政编码318000。区人民政府驻海门街道青年路404号。椒江区位于浙江省沿海的中部,位
  • 冬季奥林匹克运动会速度滑冰比赛竞速滑冰在1924年奥运成为正式比赛项目。• = , (d) = The following table shows when events were contested at each Games. Women's events were demonstrated in 1932
  • crossing field《crossing field》是日本女歌手LiSA的第2张单曲,于2012年8月8日由Aniplex发售。《crossing field》为继在2011年的《oath sign》后,LiSA的第2张单曲,是电视动画《刀剑神域》SA
  • Mirror《mirror》为堂本光一在2006年9月13日发行的个人名义专辑。由杰尼斯娱乐发行。双A面单曲“Deep in your heart/+MILLION but -LOVE”的两首歌也收录其中,为最初的个人名义专