 
		weibo_隱懓_0
2021-03-08 13:00
像那个例子:
// 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()
}定义个交通接口,面向接口开发,符合依赖反转原则,但是这样写又好像违背了单一性原则,因为接口实现了多态,相当于集成了自行车和汽车多种功能。
这种该如何界定取舍呢?
 
				这是设计原则,应该要这样的
 
				不用取舍了吧
Go设计模式入门到实践
7768 学习 · 14 问题
相似问题
回答 1