设计模式
文章平均质量分 57
weixin_30746129
这个作者很懒,什么都没留下…
展开
-
GOLANG观察者设计模式
设计模式有创建模式、结构模式、行为模式三类,观察者模式属于行为模式,看一下它的定义: 观察者模式(Observer): 定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。下面看是一个GOLANG的实现: package observe import "fmt" //目标,被观察者 type Subject struct { obs...原创 2018-11-21 20:53:43 · 554 阅读 · 0 评论 -
GOLANG设计模式值责任链模式
来看下责任链模式的定义:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。可以看到它能够把请求者与处理者解耦了,请求者不会知道哪一个处理了它的请求。这个模式偏向于一个请求对应一个处理者,而观察者模式偏向于一个变动,多个观察者都能够监测到。 handler代码: package chainResponsibili...原创 2018-11-22 12:35:27 · 1496 阅读 · 0 评论 -
GOLANG工厂模式、简单工厂模式、抽象工厂模式、创建者模式
设计模式可以大大提高代码复用性,使得程序的修改更加灵活。另外将各个功能模块抽象解耦出来,在某个模块需要更改时不至于会对整体代码进行修改,解耦的好的话只简单修改几个地方即可以切换某个模块在实现上的切换,这就提高了程序修改的灵活度,以便应对客户各种各样的需求。 大话设计模式第一章就通过写一个计算器(计算逻辑和前端显示解耦)和曹操饮酒改诗(每修改或者增加一个字就需要全部重新刻...翻译 2018-11-27 13:14:05 · 1239 阅读 · 3 评论 -
GO建造者模式和单例模式
建造者模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 就是一些类型它们有相同的构造流程,但是流程中具体的每一步可能有所差距。看下代码就知道了 package builder type Builder interface { Part1() Part2() Part3() } type Director struct { builder Build...翻译 2018-11-27 14:27:30 · 195 阅读 · 0 评论 -
GO组合模式
组合模式:将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 简单的理解就是一颗树中有根节点也有叶子节点,对于它们的增删改查,我们都使用名字同样的函数,但是具体的行为却因为注册时不一样而不一样。 看下代码: package composite import "fmt" type Component interface { Par...原创 2018-12-03 12:46:09 · 569 阅读 · 1 评论