设计模式
求兵
这个作者很懒,什么都没留下…
展开
-
设计模式 - 简单工厂 - go语言实现
定义:在创建一个对象时不向客户暴露内部细节,并提供一个创建对象的通用接口。 类图:简单工厂把实例化的操作单独放到一个类中,这个类就成为简单工厂类,让简单工厂类来决定应该用哪个具体子类来实例化。 这样做能把客户类和具体子类的实现解耦,客户类不再需要知道有哪些子类以及应当实例化哪个子类。客户类往往有多个,如果不使用简单工厂,那么所有的客户类都要知道所有子类的细节。而且一旦子类发生改变,例如增加子类,那...原创 2020-03-31 18:17:01 · 309 阅读 · 0 评论 -
设计模式 -观察者 - go语言实现
作用:定义对象之间的一对多依赖,当一个对象状态改变时,它的所有依赖都会收到通知并且自动更新状态。 主题(Subject)是被观察的对象,而其所有依赖者(Observer)称为观察者。 类图:主题(Subject)具有注册和移除观察者、并通知所有观察者的功能,主题是通过维护一张观察者列表来实现这些操作的。 观察者(Observer)的注册功能需要调用主题的 registerObserver() 方...原创 2020-03-30 22:03:53 · 358 阅读 · 0 评论 -
设计模式 - 责任链 - go语言实现
责任链:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链发送该请求,直到有一个对象处理它为止。 案例:在main中实例化责任链对象,责任链对象根据传入类型进行判断,如果是“1”则由自己处理。如果是其它,且责任链对象中存在下一个对象,则由下一个对象处理。 package main import "fmt" type Handler in...原创 2020-03-30 16:21:44 · 377 阅读 · 0 评论