开闭原则(OCP)
定义
Golang Demo
package openclose
type CourseInterface interface {
GetID() int
GetName() string
GetPrice() float32
}package openclose
type JavaCourse struct {
id int
name string
price float32
}
func NewJavaCourse(id int, name string, price float32) *JavaCourse {
return &JavaCourse{id: id, name: name, price: price}
}
func (j *JavaCourse) GetID() int {
return j.id
}
func (j *JavaCourse) GetName() string {
return j.name
}
func (j *JavaCourse) GetPrice() float32 {
return j.price
}Java Demo
UML

总结
补充另一个版本的Java/Scala Demo 以及源码解析
Java Demo_
Scala Demo
UML_
源码解析
Last updated