關于單一原則和依賴反轉原則
像那個例子:
//?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() }
定義個交通接口,面向接口開發,符合依賴反轉原則,但是這樣寫又好像違背了單一性原則,因為接口實現了多態,相當于集成了自行車和汽車多種功能。
這種該如何界定取舍呢?
2022-11-15
這是設計原則,應該要這樣的
2021-09-04
不用取舍了吧