摘要:模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。——《HEAD FIRST 设计模式》 我的golang代码: 1 package template 2 3 import ( 4 "fmt" ... 阅读全文
外观模式
2015-04-29 00:14 by foolbread-老陈, 124 阅读, 0 推荐, 收藏, 编辑
摘要:外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。——《HEAD FIRST 设计模式》 我的c++代码: #ifndef DESIGN_FACADE_H_
#define DESIGN_FACADE_H_ namespace facade{ class PopcornPopper
{
public: void On()... 阅读全文
外观模式
2015-04-29 00:12 by foolbread-老陈, 137 阅读, 0 推荐, 收藏, 编辑
摘要:外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。——《HEAD FIRST 设计模式》 我的golang代码: package facade import "fmt" type PopcornPopper struct {
} func (f *PopcornPopper) On() { fmt.Println("p... 阅读全文
适配器模式
2015-04-28 22:26 by foolbread-老陈, 133 阅读, 0 推荐, 收藏, 编辑
摘要:适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。——《HEAD FIRST 设计模式》 我的golang代码: package adapter import "fmt" type Duck interface { Quack() Fly()
} type Turkey interface { Gob... 阅读全文
适配器模式
2015-04-28 22:24 by foolbread-老陈, 137 阅读, 0 推荐, 收藏, 编辑
摘要:适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。——《HEAD FIRST 设计模式》 我的c++代码: #ifndef DESIGN_ADAPTER_H_
#define DESIGN_ADAPTER_H_ namespace adapter{ class Duck
{
public: virtual void Quack(... 阅读全文
命令模式
2015-04-28 12:00 by foolbread-老陈, 126 阅读, 0 推荐, 收藏, 编辑
摘要:命令模式:将请求封装成对象,这可以让你使用不同的请求,队列,或者日志请求来参数化其他对象。命令模式也可以支持撤销操作。——《HEAD FIRST 设计模式》 我的golang代码: package command import ( "fmt"
) const slotnums = 7 type Command interface { execute()
} //... 阅读全文
命令模式
2015-04-28 11:58 by foolbread-老陈, 113 阅读, 0 推荐, 收藏, 编辑
摘要:命令模式:将请求封装成对象,这可以让你使用不同的请求,队列,或者日志请求来参数化其他对象。命令模式也可以支持撤销操作。——《HEAD FIRST 设计模式》 我的c++代码: #ifndef DESIGN_COMMAND_H_
#define DESIGN_COMMAND_H_ #define SLOTSNUMS 7 class Command
{
public: virtua... 阅读全文
单例模式
2015-04-27 11:46 by foolbread-老陈, 101 阅读, 0 推荐, 收藏, 编辑
摘要:单例模式:确保一个类只有一个实例,并提供全局访问点。——《HEAD FIRST 设计模式》 我的c++代码: #ifndef DESIGN_SINGLETON_H_
#define DESIGN_SINGLETON_H_ #include class Singleton
{
private: Singleton(){}
public: static Singleto... 阅读全文
单例模式
2015-04-27 11:42 by foolbread-老陈, 97 阅读, 0 推荐, 收藏, 编辑
摘要:单例模式:确保一个类只有一个实例,并提供全局访问点。——《HEAD FIRST 设计模式》 我的golang代码: package singleton import ( "fmt"
) type Singleton interface { PrintSome()
} type singleone struct { v int
} var g_singleon... 阅读全文
工厂模式
2015-04-24 11:50 by foolbread-老陈, 152 阅读, 0 推荐, 收藏, 编辑
摘要:工厂模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。——《HEAD FIRST 设计模式》 我的golang代码: package factory import ( "fmt"
) type PizzaStore interface { createPizza(t string) Pizza OrderP... 阅读全文