Software Design

编程范式:为问题选择正确的思维模型
Jan 3, 2022 Development

编程范式:为问题选择正确的思维模型

编程范式塑造了我们思考和解决问题的方式。理解它们的优势、权衡和适用场景可以做出更好的软件设计决策。

Best PracticesSoftware DesignProgramming
依赖倒置原则:高层模块不应依赖低层模块
Nov 30, 2021 Development

依赖倒置原则:高层模块不应依赖低层模块

高层模块不应依赖低层模块。两者都应依赖抽象。这一原则颠倒了传统的依赖结构,但开发者经常创建违反它的僵化架构。

Best PracticesSoftware Design
接口隔离原则:不应强迫客户端依赖未使用的方法
Nov 1, 2021 Development

接口隔离原则:不应强迫客户端依赖未使用的方法

不应强迫客户端依赖它们不使用的接口。这一原则防止臃肿接口给实现者带来不必要方法的负担,但开发者经常创建违反它的臃肿抽象。

Best PracticesSoftware Design
里氏替换原则:不可违背的契约
Oct 1, 2021 Development

里氏替换原则:不可违背的契约

子类型必须能够替换其基类型而不破坏程序正确性。这一原则确保继承层次结构保持健全,但开发者经常通过看似无害的设计决策违反它。

Best PracticesSoftware Design
开闭原则:在不破坏的情况下扩展
Sep 12, 2021 Development

开闭原则:在不破坏的情况下扩展

软件实体应该对扩展开放,对修改关闭。这个原则承诺在不破坏的情况下提供灵活性,但开发者在何时应用抽象以及何时会变成过度工程方面挣扎。

Best PracticesSoftware Design
单一职责原则:SOLID 设计的基石
Sep 9, 2021 Development

单一职责原则:SOLID 设计的基石

一个类应该只有一个改变的理由。这个简单的陈述构成了 SOLID 设计的基础,但开发者却在什么是'单一职责'以及何时拆分类的问题上挣扎。

Best PracticesSoftware Design
DRY 原则:当代码重复成为技术债
Aug 8, 2021 Development

DRY 原则:当代码重复成为技术债

Don't Repeat Yourself 听起来简单,但知道何时应用它需要判断力。了解何时重复是有害的、何时可接受,以及过早抽象如何比重复更糟。

Best PracticesSoftware DesignCode Quality