依赖倒置原则(DIP)
依赖倒置原则(Dependency Inversion Principle, DIP):高层模块不应该依赖于低层模块,二者应该依赖于其抽象。抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。
Golang Demo
package dependenceinversion
type CourseInterface interface {
studyCourse()
}package dependenceinversion
import "fmt"
type JavaCourse struct {
}
func NewJavaCourse() *JavaCourse {
return &JavaCourse{}
}
func (JavaCourse) studyCourse() {
fmt.Println("study java")
}Java Demo
UML

补充另一个版本的Java/Scala Demo 以及源码解析
Java Demo_
Scala Demo
UML_
源码解析
Last updated
Was this helpful?