Skip to content

stayNightL/design-pattern-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go 设计模式

前言

设计模式不是银弹,它不能解决所有问题,它甚至跟设计都沾不上边--设计模式只是解决特定类型问题的特定方法,换句话说,设计模式不是用来让你学习如何设计代码,而是如何解决问题的“方法论”。评判解决方法好坏的核心指标只有一个:是否对扩展开放,对修改关闭。

扩展的方式基于对问题的理解,解决问题的关键在于分离问题中的变和不变,让变和不变解耦才是设计模式的最终目的,创建型设计模式分离了对象的创建和使用,结构型设计模式分离了功能和实现,行为型设计模式分离了调用者和被调用者之间的关系。然而不幸的是,变和不变并不是永恒不变的,只能在现有的情况下做出最适合的方案--然后在适当的时候重构。

在这里,我会按照以下结构介绍每一种设计模式:

  1. 标题
  2. 描述场景
  3. 第一版代码
  4. 分析存在的问题
  5. 解决问题和实现代码
  6. 代码目录

目录

  1. 访问者模式
  2. 建造者模式
  3. 命令模式
  4. 装饰者模式

About

设计模式go语言实现

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages