知其然,知其所以然。理解了编程的本质,有助于你成为一个更高效更优秀的程序员。
我们讲了各式各样的不同语言的编程范式,从 C
语言的泛型,讲到 C++
的泛型,再讲到函数式的 Map/Reduce/Filter
,以及 Pipeline
和 Decorator
,还有面向对象的多态通过依赖于接口而不是实现的桥接模式、策略模式和代理模式,以及面向对象的 IoC
,还有 JavaScript
的原型编程在运行时对对象原型进行修改,以及 Go
语言的委托模式……
所有的这一切,不知道你是否看出一些端倪,或是其中的一些共性来了?
# The Dependency Inversion Principle 依赖反转原则
# Introduction 简介
依赖反转原则规定,高层的代码不应该依赖下一级的代码。首先,高层的代码应该依赖着抽象层,抽象层就像是“中间人”一样,负责连接着高层代码和下一级代码。其次,抽象定义时不应该依赖着具体实现,但具体实现应该依赖着抽象定义。
# Dependency Inversion Principle 依赖反转原则
This Principle states that high-level code should not depend on low-level code,and that abstractions should not depend upon details.
该原则要求,高层代码不应该依赖比它层级低的代码,抽象定义的时候不能依赖具体实现。
33个非常实用的JavaScript一行代码
2021-11-02 前端JavaScript文章