设计异味

✍ dations ◷ 2025-07-01 11:40:45 #计算机编程

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

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

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

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

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

相关

  • 亨利·柏格森亨利·柏格森(法语:Henri Bergson,1859年10月18日-1941年1月4日),法国哲学家,以优美的文笔和具丰富吸引力的思想著称。1928年,获得1927年度的诺贝尔文学奖。1859年10月18日出生于巴
  • 成键轨道成键轨道(英语:Bonding orbital;Bonding molecular orbital),在原子轨道在线性组合成分子轨道时(即两个波函数相加得到的分子轨道),能量较低的分子轨道谓之。成键轨道总是与反键轨道
  • Ii血型系统Ii血型系统是人类血型系统之一。决定基因位于6号染色体。
  • 自言自语自言自语可以指:
  • 华数TV华数数字电视传媒集团(WASU,简称华数集团),前身是由杭州文广集团、浙江广电集团等于1999年投资设立的杭州市有线广播电视网络中心,是大型国有文化传媒产业集团,位居中国新媒体产业
  • 苏-35战斗机苏35战斗机(Сухой Су-35,北约代号:Flanker-E)是四代半重型战斗机,具有远程、多用途、空优、打击等特性。和Su-27有同样血统设计,有相似性能特征和零件。实验机T10-24于1985
  • 王嘉禾王嘉禾(1850年-1920年) ,山东省登州府文登县前百凤口村人,清朝政治人物、进士出身。光绪三年(1877年),参加丁丑科殿试,登进士二甲第115名。同年五月,分部学习。历官吏部主事、军机章京
  • 胡延照胡延照(1951年4月-),男,汉族,浙江绍兴人,中华人民共和国政治人物,曾任上海市人民政府副市长,现任上海市人大常委会副主任,上海行政学院院长。
  • 蔡应科蔡应科(?-?),字思盛,福建漳州府龙溪县人,民籍,明朝政治人物。福建乡试第十八名举人。隆庆二年(1568年)中式戊辰科三甲第一百零八名进士。曾祖蔡绪;祖父蔡迁;父蔡结,母丘氏;继母方氏。
  • 核宇宙编年学核宇宙编年学,也称为宇宙编年学,是相对来说使用较新的技术用来确定天文物理物件和事件的时间尺度。这种技术使用重放射性核种的丰度计算天文物件形成的年龄,类似于地质年代学领