
Go
文章平均质量分 96
元闰子
这个作者很懒,什么都没留下…
展开
-
【Go实现】实践GoF的23种设计模式:解释器模式
解释器模式主要运用于简单的语法解析场景,比如简单的领域特定语言(DSL)。原创 2024-03-23 22:11:30 · 979 阅读 · 0 评论 -
【Go实现】实践GoF的23种设计模式:备忘录模式
在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外进行保存,以便在未来将对象恢复到原先保存的状态。原创 2023-11-26 08:33:41 · 1115 阅读 · 0 评论 -
【Go实现】实践GoF的23种设计模式:命令模式
命令模式可将请求转换为一个包含与请求相关的所有信息的对象, 它能将请求参数化、延迟执行、实现 Undo / Redo 操作等原创 2022-12-22 22:21:42 · 789 阅读 · 1 评论 -
【Go实现】实践GoF的23种设计模式:代理模式
代理模式为一个对象提供一种代理以控制对该对象的访问。原创 2022-10-16 18:59:23 · 624 阅读 · 0 评论 -
【Go实现】实践GoF的23种设计模式:访问者模式
访问者模式的目的是,解耦数据结构和算法,使得系统能够在不改变现有代码结构的基础上,为对象新增一种新的操作。原创 2022-10-06 16:27:37 · 537 阅读 · 1 评论 -
【Go实现】实践GoF的23种设计模式:抽象工厂模式
上一篇:【Go实现】实践GoF的23种设计模式:工厂方法模式简单的分布式应用系统(示例代码工程):https://github.com/ruanrunxue/Practice-Design-Pattern–Go-Implementation简述上一篇我们介绍了工厂方法模式,本文,我们继续介绍它的兄弟,抽象工厂模式(Abstract Factory Pattern)。在工厂方法模式中,我们通过一个工厂方法接口来创建产品,而创建哪类产品,由具体的工厂对象来决定。抽象工厂模式和工厂方法模式的功能很类似.原创 2022-05-29 16:17:15 · 192 阅读 · 0 评论 -
如何高效编写Go单元测试(二)
前言上一篇文章《如何高效编写Go单元测试(一)》主要介绍了如何使用第三方断言库来使Go单元测试的代码更加简洁和具备可读性,本文我们来聊聊单元测试中的“打桩”。// 判断一个字符串s是否是回文字符串func IsPalindrome(s string) bool { for i := range s { if s[i] != s[len(s)-1-i] { return false } } return true}g原创 2021-01-10 22:17:43 · 564 阅读 · 0 评论 -
如何高效编写Go单元测试(一)
前言单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。我们根据它来检验代码的行为是否和预期的一样,如果单元测试不通过,要么代码有bug,要么测试条件输入不正确,总之,需要修复使单元测试能够通过。单元测试一个最大的好处,就是确保一个程序模块的行为符合我们设计的预期,在将来对代码进行修改/重构时,还能最大限度地保证代码的行为仍然正确。Go对单元测试的支持已经相当友好了,原生的go test标准库就是专门用来进行单元测试的编写的。使用go test编写单元测试时需要遵循一些约定,比如所有原创 2020-12-23 23:53:02 · 572 阅读 · 0 评论 -
使用Go实现GoF的23种设计模式(三)
前言上一篇文章《使用Go实现GoF的23种设计模式(二)》中,我们介绍了结构型模式(Structural Pattern)中的组合模式、适配器模式和桥接模式。本文将会介绍完剩下的几种结构型模式,代理模式、装饰模式、外观模式和享元模式。本文将会继续采用消息处理系统作为例子,如果对该例子不清楚,请移步《使用Go实现GoF的23种设计模式(一)》和《使用Go实现GoF的23种设计模式(二)》对其相关的设计和实现进行了解。代理模式(Proxy Pattern)简介代理模式为一个对象提供一种代理以控制对该对原创 2020-09-06 22:05:48 · 510 阅读 · 0 评论 -
使用Go实现GoF的23种设计模式(二)
前言上一篇文章《使用Go实现GoF的23种设计模式(一)》介绍了23种设计模式中的创建型模式(Creational Pattern),创建型模式是处理对象创建的一类设计模式,主要思想是向对象的使用者隐藏对象创建的具体细节,从而达到解耦的目的。本文主要聚焦在结构型模式(Structural Pattern)上,其主要思想是将多个对象组装成较大的结构,并同时保持结构的灵活和高效,从程序的结构上解决模块之间的耦合问题。组合模式(Composite Pattern)简述在面向对象编程中,有两个常见的对象设原创 2020-08-23 11:18:00 · 607 阅读 · 0 评论 -
使用Go实现GoF的23种设计模式(一)
前言从1995年GoF提出23种设计模式到现在,25年过去了,设计模式依旧是软件领域的热门话题。在当下,如果你不会一点设计模式,都不好意思说自己是一个合格的程序员。设计模式通常被定义为:设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。从定义上看,设计模式其实是一种经验的总结,是针对特定问题的简洁而优雅的解决方案。既然是经验总结,那么学习设计模式最直接的好处就在于可以站原创 2020-08-10 00:12:28 · 1505 阅读 · 5 评论