text: 設計異味是計算機程式設計領域，設計所用結構違背了基本設計原則並對設計質量有負面影響。這個術語源自馬丁·福勒在《重構-改善既有程式碼的設計》一書中描述的程式碼異味。不同作者對“異味”有不同的定義：設計異味指示了積累的設計負債。Bug與未實現功能不算是設計異味。設計異味產生於很差的設計決策，使得設計脆弱、難於維護。在一個軟體系統中辨別設計異味，應用適當的重構去除異味，避免積累技術負債，是好的實踐。在確定特定結構或決策是否算作設計異味時，上下文環境扮演了重要角色。很多時候，由於上下文環境所限，只好容忍設計異味。面向物件設計的有助於消除異味的原則.面向物件設計的SOLID五大原則：單一功能原則：一個類只應有一個“改變的原因”；開閉原則：軟體實體應當對擴充套件是開放的，對修改是關閉的；里氏替換原則：子型別能替換基型別；依賴反轉原則：高層模組不應依賴於低層模組，二者應當依賴於抽象。抽象不應依賴與細節。細節應當依賴於抽象。介面隔離原則：類應當有胖介面，可被分為方法的分組。每個分組服務於不同的客戶集。客戶不應當知道這些分組是在同一個類中。
metadata: erhwenkuo/wikipedia-zhtw
metadata: 設計異味
metadata: https://zh.wikipedia.org/wiki?curid=6474950