什么是原型模式? 原型模式即通过复制生成实例 当对象种类繁多,无法将它们整合到一个类时或难以根据类生成实例时或希望与生成的实例解耦时,可以使用原型模式 示范代码(prototype.go) package Prototype type Prototype interface { Name() s
什么是工厂方法模式? 工厂方法模式即将实例的生成交给子类,用Template模式来构建生成实例的工厂 不必New关键字来生成实例,而是调用生成实例的专用方法来生成实例,这样就可以防止父类与其他具体类耦合 示范代码(factory.go) 创建一个工厂,用于生产通行证 package Factory
什么是模板模式? 模板模式即将具体处理交给子类,在父类中定义处理流程的框架,在子类中实现具体处理。 优点是在父类的模板方法中编写了算法,之后无需在每个子类中实现。 模板模式和桥接模式最大的区别 模板模式每次都要去继承抽象类的功能,而桥接模式不需要。 模板模式使用每次都需要New一个新对象,而桥接模式
什么是单例模式? 单例模式即只有一个实例,确保只生成一个实例的模式 作用于可以确保任何情况下都只生成一个实例 只有第一次调用时,类才会被初始化 示范代码(singleton.go) package Singleton import "sync" var ( p *Peple once
什么是适配器模式? 桥接模式即用于填补现有程序和所需程序之间差异的设计模式 作用是加个适配器以便于复用 适配器会对现有的类进行适配,生产新的类 适配器模式可以在完全不改变现有代码的前提下使现有代码适配于新的接口 适配器模式可以是新旧版本兼容,帮助我们轻松地同时维护新版本和旧版本 适配器模式用于填补具
什么是桥接模式? 桥接模式即将类的功能层次结构与实现层次结构分离。 作用是在类的功能层次结构和类的实现层次结构之间搭建桥梁 当想要增加功能时,只需要在类的功能层次结构一侧添加类即可,不必对类的实现层次结构做任何修改。而且,增加后的功能可以被所有的实现使用 示范代码(bridge.go) 画一个红色圆
什么是迭代器模式? 将循环作用抽象化、通化后形成的模式,就叫Iterator模式。 迭代器模式即一个一个遍历,意思是从含有多个元素的集合中将各个元素逐一取出。 用于在数据集合中按照顺序遍历集合 示范代码(iterator.go) package Iterator type Iterator int
测试环境 系统:win10 docker版本:Docker version 19.03.5, build 633a0ea docker-compose版本: docker-compose version 1.25.4, build 8d51620a 执行命令 docker-compose up -d