设计异味

✍ dations ◷ 2025-02-24 00:35:12 #计算机编程

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

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

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

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

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

相关

  • 左冠状动脉血管左冠状动脉(arteria coronaria sinistra,英文简称LCA),又称左主冠状动脉(left main coronary artery,简称LMCA)为主动脉的一条分支,负责供应心脏左侧的血流。其源自于主动脉瓣(英语:ao
  • span class=nowrapPd(NOsub3/sub)sub4/sub/span四硝酸钯是一种无机化合物,化学式为Pd(NO3)4。四硝酸钯由二水合硝酸钯(II)和四氧化二氮反应得到。四硝酸钯具有氧化性,可以将I-氧化,却不能将Fe2+氧化。
  • 霍尼韦尔霍尼韦尔国际(Honeywell International),是美国一家以电子消费品生产、工程技术服务和航空航天系统为主的跨国性公司,总部位于新泽西州莫里斯敦(Morristown)。名列《财富》杂志100
  • 阿根廷地理阿根廷位于南美洲南部,与智利、巴西、巴拉圭、乌拉圭、玻利维亚接壤,边界线总长25728公里。阿根廷面积约278万平方公里,为南美洲第2大国,世界排名第8位。阿根廷主要山脉有奥霍斯
  • 电视牌照在许多国家,电视授权,或称电视执照(TV licence、Television licence或Broadcast receiver licence)是接收电视和广播讯号所必须持有的正式许可证。电视执照是质押税(Hypothecatio
  • 解放宣言《解放奴隶宣言》(英语:The Emancipation Proclamation)是份由美国总统亚伯拉罕·林肯于1863年1月1日公布的宣言,其主张所有美利坚邦联叛乱下的领土之黑奴应享有自由,然而未脱离
  • 东莞市第一中学东莞市第一中学(英文:Dongguan NO.1 Senior High School),当地习惯称“一中”,是广东省东莞市的一所重点高级中学,也是东莞市五间主要重点高中之一,隶属东莞市教育局。该校位于东
  • 卡尔·特奥多尔·罗伯特·路德卡尔·特奥多尔·罗伯特·路德(德语:Karl Theodor Robert Luther,1822年4月16日-1900年2月15日),德国天文学家。为纪念路德,月球上的一处环行山被命名为路德环形山,此外小行星1303也
  • 欧元纸币欧元纸币由欧元区内各国央行或欧洲中央银行发行,自2002年1月1日起流通。欧元创立于1999年,当时它以一种“看不见”的形式存在(例如显示在活期存款账目上)。自2002年其纸币与硬币
  • 车队管理车队管理是企业管理运输车队的方法。车队管理包括商务机动车例如,轿车、面包车、卡车等,以及有轨车辆。车管可包括一系列功能、例如汽车投资、汽车维护、企业电控(跟踪和查询)