设计异味

✍ dations ◷ 2024-12-23 16:12:17 #计算机编程

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

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

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

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

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

相关

  • 2020年新型冠状病毒肺炎事件重定向至:
  • β-氧化β-氧化指的是脂肪酸氧化分解,最终产生乙酰辅酶A(Acetyl-CoA)和酮体的过程。就和脂肪酸合成一样,脂肪酸的分解也是逐步进行的。脂肪酸首先变成Acyl-CoA的活化形式。接下来反应有
  • 弗兰克·惠特尔弗兰克·惠特尔爵士(英语:Sir Frank Whittle,1907年6月1日-1996年8月9日),英国皇家空军军官, 航空发动机工程师,与德国人汉斯·冯·奥海恩分别独立设计了喷射发动机。1907年,惠特尔出
  • Cholesterol胆固醇,别名胆甾醇,是一种类固醇及甾醇,化学式为C27H46O。固态是一种无色的结晶。胆固醇是法国医生François Poulletier de la Salle于1784年在胆结石上发现的。其命名cholest
  • 麻辣烫麻辣烫是一种起源于四川地区,流行于中国各地(尤其是四川和重庆)的小吃,其类似于火锅,主要在街头常见。在四川重庆本地更多的是则是传统的冒菜而非麻辣烫(乐山市则另有冷食变种钵钵
  • 费德里科·卡帕索费德里科·卡帕索(意大利语:Federico Capasso,1949年6月24日-),出生于意大利罗马,应用物理学家,量子级联激光器的发明人之一。现任教于美国哈佛大学工程与应用科学学院。卡帕索于197
  • 以马忤斯修道院以马忤斯修道院(捷克语:Emauzy)是位于捷克首都布拉格的一座修道院,成立于1347年。以马忤斯修道院是斯拉夫世界唯一一座本笃会修道院。二战期间修道院曾遭到轰炸。1990年捷克民主
  • 乔治·冯·赫特林乔治·弗里德里希·格拉夫·冯·赫特林(德语:Georg Friedrich Graf von Hertling,1843年8月31日-1919年1月4日,巴伐利亚政治家,担任过巴伐利亚王国总理大臣、普鲁士总理大臣和德意
  • 分音器分音器 是 电子滤波器 在音频上的应用。由于市面上大部分单独的扬声器单元无法在人耳可闻的频率范围(20Hz~20kHz)内,将所有频率成分以足够的音压、够低的失真完整重现,多数
  • 哑鸣哑鸣(本名林明亚,1986年10月4日-)是台湾的男性轻小说作家,辅仁大学进修部历史系毕业。以《搞笑漫画日和》中的角色熊吉为形象代表。身障者,原本是打算透过漫画来描述故事,后来发现