随笔分类 -  设计模式

责任链模式
摘要:为请求创建一个对象链,每个对象依次处理请求并传给链中的下一个对象。责任链中每个对象都拥有同一个父类(或接口)。 package main import ( "fmt" "strings" ) type Handler interface { Handle(content string) next(h 阅读全文

posted @ 2023-09-17 10:32 王景迁 阅读(19) 评论(0) 推荐(0)

模板方法模式
摘要:在接口中定义算法步骤,子类实现算法步骤。 拉起容器时既可以通过docker,也可以通过containerd。 package main import "fmt" type containerHandle struct { c containerHandler } type containerHand 阅读全文

posted @ 2023-09-16 22:34 王景迁 阅读(25) 评论(0) 推荐(0)

迭代器模式
摘要:迭代器能在不暴露复杂数据结构内部细节的情况下遍历其中所有的元素。 package main import "fmt" type Iterator interface { hasNext() bool getNext() *User } type Collection interface { crea 阅读全文

posted @ 2023-09-16 20:45 王景迁 阅读(17) 评论(0) 推荐(0)

设计模式7大原则
摘要:开闭原则对扩展开放,对修改关闭。 依赖倒置原则面向接口编程。 单一职责原则一个类、接口、方法只负责一项职责。 接口隔离原则接口中方法尽量少。 迪米特法则尽量降低类与类之间的耦合。 里氏替换原则引用父类的地方能使用其子类。 合成复用原则尽量使用合成/聚合的方式,不是使用继承。 阅读全文

posted @ 2023-09-16 20:24 王景迁 阅读(15) 评论(0) 推荐(0)

策略模式
摘要:根据类型选择不同的处理方式。 package main import ( "fmt" ) const ( NoteType = 0 TellphoneType = 1 ) type MessageNotify interface { support(notifyType int) bool noti 阅读全文

posted @ 2023-08-20 14:41 王景迁 阅读(16) 评论(0) 推荐(0)

导航