SF
似水流年
似水流年
注册登录
关注博客
注册登录
主页
关于
RSS
chan用法及源码分析
TimeWtr
8 月 13 日
阅读 5 分钟
228
在go语言中channel是一个内置的数据类型,用于多个goroutine间通信,两端分为发送端和接收端。根据是否有缓存可以分为有缓冲channel和无缓冲channel两种类型。
设计模式篇之策略模式
TimeWtr
7 月 14 日
阅读 4 分钟
1.3k
本篇文章将介绍一种行为模式-策略模式,该模式在开发中也非常的常见。下边将介绍三个问题:什么是策略模式?使用策略模式的场景?如何实现策略模式?1. 什么是策略模式?策略模式是一种行为模式,用于解决在程序运行过程中算法/行为动态调整变化的问题。这种模式需要提前定义好程序运行过程中需要用到的算法/行为,比如...
设计模式篇之单例模式
TimeWtr
7 月 14 日
阅读 5 分钟
1.2k
单例模式在是日常开发工作中最长使用到的一种设计模式,可能很多开发者应在程序中使用,但是却不清楚是单例模式,比如Go中使用借助init方法和全局变量实现数据库连接初始化,是不是都这么写过?下边就详细介绍一下单例模式的实现和适用场景。
Go设计模式之装饰器模式
TimeWtr
2023-05-18
阅读 3 分钟
969
上一步已经实现基础手机的需求,但是手机售卖会有不同的系列,拍照手机广受年轻人的喜爱,所以需要推出一个拍照手机系列,拍照手机具备基础版手机的功能,需要在此基础上新增手机像素的方法,调整基础像素,实现价格和颜色方法,那么就需要组合BasePhone。 {代码...}
Go设计模式之选项模式
TimeWtr
2023-05-18
阅读 3 分钟
907
在日常的Go程序开发中,函数(方法)参数的传递是必不可少的一部分,如果参数比较少,可以在方法参数部分直接列出,如果参数很多,可不可以一个一个罗列呢,答案是可以的。但是这种方式存在两个问题:
Go设计模式之工厂模式
TimeWtr
2023-05-18
阅读 7 分钟
908
工厂模式属于结构型模式,可以细分为三种模式:简单工厂模式工厂方法模式抽象工厂模式这三种模式从上到下逐步抽象,在学习工厂模式之前,需要先明白为什么要使用工厂模式。工厂模式对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了能使得代码结构和逻辑更加清晰,外界对于这些对象只需要...
Kafka系列之消息长度超过限制问题
TimeWtr
2023-05-17
阅读 3 分钟
4.3k
kafka涉及的技术问题,计划用多篇文章来记录,这一篇先记录下工作中遇到的比较严重的问题和解决的方案。消息过长的问题在生产者和消费者端都有可能发生:生产者: kafka对发送的消息长度有限制,不能发送任意长度的数据,默认长度设置的是1M,超过1M就不允许发送。消费者:kafka拉取数据长度也有限制,默认拉取最大的长...