Go的设计模式

Go的设计模式

Go的设计模式:❌指在Go中不常用

  • 创建型
    • 单例模式:一个类只有一个实例
      • 饿汉:系统初始化时创建并初始化单例对象
      • 懒汉:调用实例时初始化单例对象
    • 工厂模式:使用共同接口创建对象
    • 建造者模式:与工厂不同在于,创建参数复杂的对象
    • 原型模式:利用已有对象复制的方式来创建新的对象 ❌
  • 结构型
    • 代理模式:为其他对象提供⼀种代理以控制这个对象的访问 代理访问
    • 桥接模式:将类的抽象部分和它的实现部分分离开来,使它们可以独立地变化 抽象实现拆分独立
    • 装饰模式:动态地给⼀个对象添加⼀些额外的职责 附加职责
    • 适配器模式:将⼀个类的接口转换成用户希望得到的另⼀个接口 转换接口
    • 门面模式:定义⼀个高层接口,为子系统中的⼀组接口提供一个一致的外观 对外统一接口
    • 组合模式:将对象组合成树型结构以表示”整体-部分”的层次结构 树型目录结构
    • 享元模式:提供支持大量细粒度对象共享的有效方法 ❌
  • 行为型
    • 观察者模式:定义对象间的⼀种⼀对多的依赖关系,当⼀个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新
    • 模板模式:定义⼀个操作中的算法骨架,而将⼀些步骤延迟到子类中,使得子类可以不改变⼀个算法的结构即可重新定义算法的某些特定步骤
    • 策略模式:定义⼀系列算法,把它们⼀个个封装起来,并且使它们之间可互相替换,从而让算法可以独立于使用它的用户而变化
    • 职责链模式:通过给多个对象处理请求的机会,减少请求的发送者与接收者之间的耦合。将接收对象链接起来,在链中传递请求,直到有⼀个对象处理这个请求 传递职责
    • 状态模式:允许⼀个对象在其内部状态改变时改变它的行为
    • 迭代器模式:提供⼀种方法来顺序访问⼀个聚合对象中的各个元素而不需要暴露该对象的内部表示
    • 访问者模式:表示⼀个作用于某对象结构中的各元素的操作,使得在不改变各元素的类的前提下定义作用于这些元素的新操作 ❌
    • 备忘录模式:在不破坏封装性的前提下,捕获⼀个对象的内部状态,并在该对象之外保存这个状态,从而可用在以后将该对象恢复到原先保存的状态 ❌
    • 命令模式:将⼀个请求封装为⼀个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求⽇志,支持可撤销的操作 ❌
    • 解释器模式:给定⼀种语言,定义它的文法表示,并定义⼀个解释器,该解释器用来根据文法表示来解释语言中的句子 ❌
    • 中介模式:用⼀个中介对象来封装⼀系列的对象交互。它使各对象不需要显式地相互调用,从而达到低耦合,还可以独立地改变对象间的交互 ❌
阅读更多
Golang

Golang

Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。

阅读更多
Go Module

Go Module

从 Go 1.11 版本开始,除了 GOPATH 构建模式外,Go 又增加了一种 Go Module 构建模式。

在 Go Module 模式下,通常一个代码仓库对应一个 Go Module。

一个 Go Module 的顶层目录下会放置一个 go.mod 文件,每个 go.mod 文件会定义唯一一个 module,也就是说 Go Module 与 go.mod 是一一对应的。

go.mod 文件所在的顶层目录也被称为 module 的根目录,module 根目录以及它子目录下的所有 Go 包均归属于这个 Go Module,这个 module 也被称为 main module。

阅读更多

取次花丛懒回顾,半缘修道半缘君。

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×