<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>第5章 更多资源 on 编程那些事儿</title><link>https://before80.github.io/prgms/Rust/RustDesignPatterns/additional-resources/</link><description>Recent content in 第5章 更多资源 on 编程那些事儿</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 21 Aug 2026 22:34:20 +0800</lastBuildDate><atom:link href="https://before80.github.io/prgms/Rust/RustDesignPatterns/additional-resources/index.xml" rel="self" type="application/rss+xml"/><item><title>01-设计原则</title><link>https://before80.github.io/prgms/Rust/RustDesignPatterns/additional-resources/01-design-principles/</link><pubDate>Tue, 18 Aug 2026 22:10:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/RustDesignPatterns/additional-resources/01-design-principles/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://rust-unofficial.github.io/patterns/"&gt;Rust Design Patterns&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://rust-unofficial.github.io/patterns/additional_resources/design-principles.html"&gt;https://rust-unofficial.github.io/patterns/additional_resources/design-principles.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="设计原则"&gt;设计原则&lt;/h1&gt;
&lt;h2 id="a-brief-overview-over-common-design-principles"&gt;常见设计原则概览&lt;/h2&gt;
&lt;hr&gt;
&lt;h2 id="solid"&gt;&lt;a href="https://en.wikipedia.org/wiki/SOLID"&gt;SOLID&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Single-responsibility_principle"&gt;单一职责原则（SRP）&lt;/a&gt;：
一个类应只有单一职责，也就是说，只有软件规格说明中某一部分的变更应能影响该类的规格说明。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Open%E2%80%93closed_principle"&gt;开闭原则（OCP）&lt;/a&gt;：
「软件实体……应对扩展开放，对修改封闭。」&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Liskov_substitution_principle"&gt;里氏替换原则（LSP）&lt;/a&gt;：
「程序中的对象应可替换为其子类型的实例，而不改变该程序的正确性。」&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Interface_segregation_principle"&gt;接口隔离原则（ISP）&lt;/a&gt;：
「多个面向客户端的特定接口优于一个通用接口。」&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Dependency_inversion_principle"&gt;依赖倒置原则（DIP）&lt;/a&gt;：
人们应当「依赖于抽象，[而非] 具体。」&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="crp-composite-reuse-principle-or-composition-over-inheritance"&gt;&lt;a href="https://en.wikipedia.org/wiki/Composition_over_inheritance"&gt;CRP（组合复用原则）或组合优于继承&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;「该原则主张：类应通过组合（包含实现所需功能的其他类的实例）而非从基类或父类继承，来偏好多态行为与代码复用」——
Knoernschild, Kirk (2002). Java Design - Objects, UML, and Process&lt;/p&gt;</description></item></channel></rss>