为何抽象

抽象的核心目的

抽象的主要目的是管理变化,具体来说:

  1. 识别变化点:确定哪些部分可能会变化
  2. 隔离变化:将变化限制在局部
  3. 统一接口:为不同的实现提供一致的交互方式

抽象的核心价值

在变化中寻求平衡稳定

  • 稳定层:抽象定义“做什么”(接口/契约)
  • 变化层:实现处理“怎么做”(具体细节)

SOLID原则

1. 单一职责原则

一个类应该只有一个引起它变化的原因

  • 每个类应该只负责一项职责
  • 将不同的功能分离到不同的类中
2. 开闭原则

软件实体(类、模块、函数等)应该对扩展开放,对修改关闭

  • 通过添加新代码开扩展功能,而不是修改现有代码
  • 使用抽象来定义契约
3. 里氏替换原则

子类型必须能够替换其父类型而不影响程序的正确性。

  • 子类应该扩展父类的行为,而不是改变它
  • 子类不应该加强前置条件或削弱后置条件
  • 子类不应该抛出父类不会抛出的异常
4. 接口隔离原则

客户端不应该被迫依赖他们不使用的接口

  • 将大接口拆分为更小、更具体的接口
  • 类不应该实现他们不需要的方法
5. 依赖倒置
高层模块  依赖  抽象接口  实现  低层模块
使用 Hugo 构建
主题 StackJimmy 设计