摘要:
外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。——《HEAD FIRST 设计模式》 我的c++代码: #ifndef DESIGN_FACADE_H_
#define DESIGN_FACADE_H_ namespace facade{ class PopcornPopper
{
public: void On()... 阅读全文
随笔分类 - 设计模式(C++)
适配器模式
2015-04-28 22:24 by foolbread-老陈, 145 阅读, 收藏,
摘要:
适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。——《HEAD FIRST 设计模式》 我的c++代码: #ifndef DESIGN_ADAPTER_H_
#define DESIGN_ADAPTER_H_ namespace adapter{ class Duck
{
public: virtual void Quack(... 阅读全文
命令模式
2015-04-28 11:58 by foolbread-老陈, 122 阅读, 收藏,
摘要:
命令模式:将请求封装成对象,这可以让你使用不同的请求,队列,或者日志请求来参数化其他对象。命令模式也可以支持撤销操作。——《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-老陈, 107 阅读, 收藏,
摘要:
单例模式:确保一个类只有一个实例,并提供全局访问点。——《HEAD FIRST 设计模式》 我的c++代码: #ifndef DESIGN_SINGLETON_H_
#define DESIGN_SINGLETON_H_ #include class Singleton
{
private: Singleton(){}
public: static Singleto... 阅读全文
工厂模式
2015-04-24 11:45 by foolbread-老陈, 143 阅读, 收藏,
摘要:
工厂模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。——《HEAD FIRST 设计模式》 我的c++代码: #ifndef DESIGN_FACTORY_H_
#define DESIGN_FACTORY_H_ #include #include class Pizza
{
public: void prepare();
... 阅读全文
装饰者模式
2015-04-23 15:38 by foolbread-老陈, 105 阅读, 收藏,
摘要:
装饰者模式:动态地将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。——《HEAD FIRST 设计模式》 我的c++代码: #ifndef DESIGN_DECORATOR_H_
#define DESIGN_DECORATOR_H_ #include class Beverage
{
public: virtual ~Beverage(){}
pub... 阅读全文
观察者模式
2015-04-16 23:13 by foolbread-老陈, 133 阅读, 收藏,
摘要:
观察者模式:在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新。——《HEAD FIRST 设计模式》 我的c++代码 #ifndef DESIGN_OBSERVER_H_
#define DESIGN_OBSERVER_H_
#include class Observer; class Subject
{
public: v... 阅读全文
策略模式
2015-04-16 23:09 by foolbread-老陈, 151 阅读, 收藏,
摘要:
策略模式:定义算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。——《HEAD FIRST 设计模式》 我的C++代码: #ifndef DESIGN_STRATEGY_H_
#define DESIGN_STRATEGY_H_ class FlyBehavior
{
public: virtual void fly() = 0;
};... 阅读全文
浙公网安备 33010602011771号