go 49 分布式事务 1 channel 6 goroutine 8 map 2 GMP 1 值拷贝 2 垃圾回收 3 设计模式 8 并发编程 5 singleFlight 1 waitgroup 1 go-zero教程 8 docker-compose 7 etcd 2 服务注册 1 服务发现 1 prometheus 1 grafana 1 服务监控 1 分布式锁 1 链路追踪 1 redis 3 单元测试 1 消息队列 1 socket编程 1 前端 1 grpc 3 1 工具 1 mysql 1 命令行 1 answer 1
技术

24种设计模式

设计模式基于六大原则 开闭原则:一个软件实体如类、模块和函数应该对修改关闭,对扩展开放 单一职责原则:一个类只做一件事,一个类应该只有一个引起它修改的原因 里氏替换原则:子类应该可以完全替换父类。也就是说在使用继承时,只...

继续阅读
技术

设计模式6原则之:开闭原则

概念一个软件实体如类、模块和函数应该对修改关闭,对扩展开放理解尽量减少对类文件的修改通过另一个分支扩展其功能实例版本1需求现在后台有课程小节编辑功能,打算增加一个小测验题型,并提供保存小测验的接口方案。开闭原则...

继续阅读
技术

设计模式6原则之:单一职责原则

概念一个类或者模块只负责完成一个职责(或者功能)理解不要设计大而全的类,要设计粒度小、功能单一的类一个类包含了两个或者两个以上业务不相干的功能,那我们就说它职责不够单一,应该将它拆分成多个功能更加单一。单一职责原则...

继续阅读
技术

设计模式6原则之:里氏替换原则

概念一个软件实体如果适用一个父类的话,那一定是适用于其子类,所有引用父类的地方必须能透明地使用其子类的对象,子类对象能够替换父类对象,而程序逻辑不变。什么情况下不符合里氏替换原则?通常情况下,都是子类 里氏替换原则...

继续阅读
技术

设计模式6原则之:依赖倒置原则

概念上层模块不应该依赖底层模块,它们都应该依赖于抽象抽象不应该依赖于细节,细节应该依赖于抽象理解(为了方便以下代码均为伪代码)假如我们有个课件类,需要对小节进行一些操作,目前我们业务中只用到了视频小节 依赖倒置原则。依赖...

继续阅读
技术

设计模式6原则之:迪米特法则

概念迪米特法则:又叫【最少知道原则】,一个类不应该知道自己操作的类的细节,也就是说,只和朋友谈话,不和陌生人谈话理解一个类不应该知道自己操作的类的细节有这样一个场景,我们课件中有一个视频小节,现在需要...

继续阅读
技术

golang中post请求

开发中我们可能会遇到请求第三方接口的需求。比如我需要调用百度翻译或者谷歌翻译,翻译一段英文并输出中文。1、目录结构.├──go.mod├──go.sum├──main.go└──transfer├── go,post,请...

继续阅读
技术

golang中的选项模式

当我在使用go-zero时,我看到了好多像下面这样的代码:...type(//RunOptiondefinesthemethodtocustomizeaServer.RunOptionfunc(*Se go,golang...

继续阅读