2026/6/20 2:29:22
网站建设
项目流程
桂林新站优化,怎么在网站做视频接口,哪个网站上可以做外贸,网站内容运营方案接口越大.抽象程度越低.
1.Go推荐定义小接口:
接口就是将对象的行为进行抽象形成的契约.契约有繁有简.Go选择了去繁就简.
1).契约的自动遵守:
Go语言中接口与其实现者之间的关系是隐式的.无须像其他语言(如java)那样要求实
现者显示放置implents声明.实现者仅需实现接口方…接口越大.抽象程度越低.1.Go推荐定义小接口:接口就是将对象的行为进行抽象形成的契约.契约有繁有简.Go选择了去繁就简.1).契约的自动遵守:Go语言中接口与其实现者之间的关系是隐式的.无须像其他语言(如java)那样要求实现者显示放置implents声明.实现者仅需实现接口方法集中的全部方法.就算是自动遵守了契约.实现了接口.2).小契约:契约繁了便束缚束脚.降低灵活性.抑制表现力.Go表现在代码上便是尽量定义小接口.2.Go标准库定义的接口:源码位置:src/builtin/builtin.go// The error built-in interface type is the conventional interface for // representing an error condition, with the nil value representing no error. type error interface { Error() string }源码位置:src/io/io.gotype Reader interface { Read(p []byte) (n int, err error) }源码位置:src/net/http/server.gotype ResponseWriter interface { Header() Header Write([]byte) (int, error) WriteHeader(statusCode int) }可以看到上面的接口的方法数量为1~3个这种小接口的最佳实践已经被Go程序员和各个社区项目广泛采用.3.小接口的优势:1).接口越小.抽象程度越高.被接纳度越高.计算机程序本身就是对真实世界的抽象与在构建.抽象是对同类事物去除其个别的 次要的方面.抽取其相同的 主要的方面的方法.不同的抽象程度会导致抽象出的概念对应的事物集合不同.抽象程度越高.对应的空间集合越大.抽象程度越低(越具象.越接近事物的真实面貌).对应的空间集合越小.示例:// 会飞的. type Flyable interface { Fly() } // 会游泳的. type Swimmable interface { Swim() } // 会飞会游泳的. type FlySwimmable interface { FlySwim() }2).易于实现和测试.3).契约职责单一.易于复用组合.4.定义小接口遵循的点:1).抽象出接口.要设计和定义小接口.需要先有接口.在定义小接口之前.先需要理解问题域.然后创建接口.2).初期不要太在意接口的大小.3).将大接口拆分为小接口.我们有多少十年.又能舍得为十年付出多少呢.如果大家喜欢我的分享的话,可以关注我的微信公众号念何架构之路