为了账号安全,请及时绑定邮箱和手机立即绑定

关于单一原则和依赖反转原则

像那个例子:

// type Traffic interface {
//     Move()
// }
type Bike struct{}

func (b *Bike) Move() {
   fmt.Println("ride bike")
}

type Car struct{}

func (c *Car) Move() {
   fmt.Println("drive car")
}

type Person struct {
   name string
}

// func (p *Person) By(tr Traffic) {
//     tr.Move()
// }

func (p *Person) RideBike(b Bike) {
   b.Move()
}

func (p *Person) DriveCar(c Car) {
   c.Move()
}

定义个交通接口,面向接口开发,符合依赖反转原则,但是这样写又好像违背了单一性原则,因为接口实现了多态,相当于集成了自行车和汽车多种功能。

这种该如何界定取舍呢?


正在回答

1 回答

这是设计原则,应该要这样的

0 回复 有任何疑惑可以回复我~

不用取舍了吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Go设计模式入门到实践
  • 参与学习       7545    人
  • 解答问题       14    个

轻松入门Go设计模式,从基础到实践。

进入课程

关于单一原则和依赖反转原则

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信