Engineering Notes

孟斌的小站

技术博客与学习记录

共 610 篇文章 标签与分类索引已启用

设计模式之责任链模式

1. 基本概念

责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它通过一条链传递请求,直到某个对象处理该请求为止。在责任链模式中,每个处理者都包含对下一个处理者的引用,形成一条链。请求沿着链传递,直到有一个处理者能够处理它为止。

继续阅读

设计模式之代理模式

1. 基本概念

代理模式(Proxy Pattern)是一种结构型设计模式,它允许一个对象(代理)控制另一个对象的访问。代理模式通常涉及到创建一个包装对象(代理),以控制对原始对象的访问,从而提供额外的功能或控制访问方式。

继续阅读

设计模式之享元模式

1. 基本概念

享元模式(Flyweight Pattern)是一种结构型设计模式,它旨在减少对象的数量,通过共享已经存在的相似对象来减小内存占用和提高性能。享元模式适用于需要创建大量相似对象,但这些对象中的许多属性是可以共享的情况。

继续阅读

设计模式之外观模式

1. 基本概念

外观模式(Facade Pattern)是一种结构型设计模式,它提供了一个简化系统接口的高层接口,使得系统更易于使用。外观模式定义了一个高层接口,这个接口隐藏了系统中多个子系统的复杂性,为客户端提供了一个简化的入口点。

继续阅读

对比Go中的值接收和指针接收

在 Go 语言中,方法可以使用值接收者(value receiver)或指针接收者(pointer receiver)。这两者之间有关键的区别,主要涉及到方法对实例的修改、复制开销和调用时的语法。

go
继续阅读

设计模式之装饰器模式

1. 基本概念:

装饰器模式是一种结构型设计模式,它允许在运行时通过将对象封装在一系列装饰器类的对象中,动态地扩展其行为。装饰器模式通过组合和递归的方式,使得客户端可以在不修改原始对象的情况下,以自由组合的方式增加新的功能。

继续阅读

Function vs. Method in Go

函数与方法的区别

在Go语言中,函数(Function)和方法(Method)是两个相关但又有区别的概念,主要涉及到它们的定义和调用方式。

go
继续阅读

设计模式之组合模式

基本概念

组合模式(Composite Pattern)是一种结构型设计模式,它允许将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得客户端可以统一地对待单个对象和对象组合,从而使得客户端无需关心处理的是单个对象还是对象组合。

继续阅读