知识卡片
小接口更稳
内容
接口方法越少,抽象越宽,组合空间越大。Go 鼓励用单方法小接口表达行为,再用组合形成更具体契约;这让模块能自然增长,而不是过早固化继承层次。
参考来源
- 位置:《Go语言底层原理剖析》第12章《接口与程序设计模式》12.4.6节《接口的组合》
- 结论依据:原文明确"一个接口包含越多的方法,其抽象性就越低,表达的行为就越具体",并说明 Go 鼓励"通常使用一种方法的接口来定义琐碎的行为,这些行为充当组件之间清晰、可理解的边界",同时指出传统继承式语言"必须尽早设计其层次结构……导致了早期的过度设计",因此可以推出"接口方法越少抽象越宽、组合空间越大,更适合渐进增长的设计"的结论。
- 原始内容:一个接口包含越多的方法,其抽象性就越低,表达的行为就越具体……Go语言在设计之初,就鼓励开发者使用组合而不是继承的方式来编写程序。通常使用一种方法的接口来定义琐碎的行为,这些行为充当组件之间清晰、可理解的边界。Go语言中的接口可以使程序自然、优雅、安全地增长,接口的更改仅影响实现接口的直接类型。