
golang
心文花雨
这个作者很懒,什么都没留下…
展开
-
链表是否是回文结构
链表是否是回文结构 Go实现原创 2022-06-20 09:57:23 · 265 阅读 · 0 评论 -
合并k个已排序的链表
合并k个已排序的链表Go实现原创 2022-06-13 09:59:20 · 163 阅读 · 0 评论 -
context
一、简介Context用来简化 对于处理单个请求的多个 goroutine 之间与请求域的数据、取消信号、截止时间等相关操作,这些操作可能涉及多个 API 调用。对服务器传入的请求应该创建上下文,而对服务器的传出调用应该接受上下文。它们之间的函数调用链必须传递上下文,或者可以使用WithCancel、WithDeadline、WithTimeout或WithValue创建的派生上下文。当一个...原创 2020-02-21 19:12:17 · 243 阅读 · 0 评论 -
Bridge
一、前言由于某些类型的固有的实现逻辑,使得它们具有两个变化的维度,乃至多个纬度的变化。桥接模式将抽象部分(业务功能)与实现部分(平台实现)分离,使它们都可以独立地变化,而不引入额外的复杂度。桥接模式类似于策略模式,区别在于策略模式封装一系列算法使得算法可以互相替换。策略模式使抽象部分和实现部分分离,可以独立变化。二、类图三、示例1. 没有使用模式package bridg...原创 2020-02-21 14:41:26 · 150 阅读 · 0 评论 -
Decorator
一、前言在某些情况下我们可能会“过度地使用继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀;如何使“对象功能的扩展”能够根据需要来动态地实现?同时避免“扩展功能的增多”带来的子类膨胀问题?从而使得任何“功能扩展变化”所导致的影响将为最低?Decorator模式动态(组...原创 2020-02-20 16:00:39 · 191 阅读 · 0 评论 -
Observer
一、前言在软件构建过程中,我们需要为某些对象建立一种通知依赖关系,一个对象的状态发生改变,所有依赖对象都将得到通知,如果这样的依赖党关系过于紧密,将使软件不能很好的抵御变化,可以将这种依赖关系弱化,形成一种稳定的依赖关系,从而实现软件体系结构的松耦合。observer 模式定义对象间的一种一对多(变化)的依赖关系,以便当一个对象的状态发生改变时,所有依赖它的对象都得到通知并自动更新。二...原创 2020-02-19 18:12:14 · 254 阅读 · 0 评论 -
Strategy
一、定义构建中,某些对象的算法可能经常改变,如果将这些算法都编码到对象之中,将会使得对象变的异常复杂,而且有时候支持不使用的算法也是一个性能负担,Strategy模式定义一系列算法,把它们一个个封装起来,让这些算法在运行时可以互换,分离算法,将算法与本身解耦,使得算法可以独立于使用它的客户程序(稳定)而变化(扩展,子类化),符合开闭原则,从而解决上述问题。二、类图三、示例1. ...原创 2020-02-18 17:55:58 · 190 阅读 · 0 评论 -
templatemethod
一、定义定义一个操作中算法的骨架(稳定),将一些特定的步骤延迟到子类中,templatemethod使得子类可以不改变(复用)一个算法的结构即可重定义(匿名组)该算法的某些特定步骤。二、类图三、示例Library开发人员(1) 开发1,3,5三个步骤(2) 程序主流程Application开发人员(1) 开发2,4三个步骤1. 没有使用模式packag...原创 2020-02-17 16:12:18 · 131 阅读 · 0 评论 -
golang module
一、使用手册1. 使用方法:go mod <command> [arguments]2. 具体命令download: download modules to local cache(下载依赖包)edit: edit go.mod from tools or scripts(编辑 go.mod)graph: print module requirement...原创 2019-12-24 14:53:27 · 327 阅读 · 0 评论