Object Oriented Design

SOLID Principles

  • S – Single responsibility principle

  • O – Open close principle

  • L – Liskov substitution principle

  • I – Interface segregation principle

  • D – Dependency inversion principle

Single responsibility principle 单一责任原则

一个类应该有且只有一个去改变他的理由,这意味着一个类应该只有一项工作。

Open close principle 开放封闭原则

对象或实体应该对扩展开放,对修改封闭 (Open to extension, close to modification)。

Liskov substitution principle 里氏替换原则

任何一个子类或派生类应该可以替换它们的基类或父类

Interface segregation principle 接口分离原则

不应该强迫一个类实现它用不上的接口

Dependency inversion principle 依赖反转原则

抽象不应该依赖于具体实现,具体实现应该依赖于抽象

High-level的实体不应该依赖于low-level的实体

5C解题法

Clarify

说人话:通过和面试官交流,去除题目中的歧义,确定答题范围

Core objects

说人话:确定题目所涉及的类,以及类之间的映射关系

Cases

说人话:确定题目中所需要实现的场景和功能

Classes

说人话:通过类图的方式,具体填充题目中涉及的类

Correctness

说人话:检查自己的设计,是否满足关键点

Last updated