设计模式
文章平均质量分 77
knight_yzzz
专注于android的爱好者
展开
-
访问者模式
#include using std::list;using namespace std;/*需要对一个对象中的对象进行很多不同的并且不相关的操作,而你想避免让这些操作‘污染’这些对象的类。 visitor使得你可以将相关的操作集中起来定义在一个类中,分离了类的内部元素与访问它们的操作,做到数据和访问的分离*/class Element;class EleA;cla原创 2013-05-28 22:14:29 · 456 阅读 · 0 评论 -
Facade(外观)模式
public interface Payment{ //模拟顾客支付费用的方法 String pay();}public class PaymentImpl implements Payment{ //模拟顾客支付费用的方法 public String pay() { String food = "快餐"; System.out.println(转载 2013-11-24 22:03:34 · 731 阅读 · 0 评论 -
Proxy 代理模式
public interface Dog{ //info方法声明 public void info(); //run方法声明 public void run();}public class GunDog implements Dog{ //info方法实现,仅仅打印一个字符串 public void info() { System.out.prin转载 2013-11-24 21:22:56 · 673 阅读 · 0 评论 -
策略模式
/* MVC 将响应机制封装在Controller中这样就可以在不改变视图外观情况下改变响应策略 即策略模式既是相同行为的不同实现*/class composition //接口{ compositor com; void traverse(); void repair()//可以将数据通过参数传进来 { com->compose();原创 2013-05-28 22:53:42 · 607 阅读 · 0 评论 -
命令模式
//命令模式,将接受者聚合在自己类中,执行时,转调接受者的接口class Command {public: virtual ~Command(); virtual void Execute()=0;protected: Command();};class OpenCommand :public Command {public: OpenCommand(原创 2013-05-28 23:03:20 · 492 阅读 · 0 评论 -
桥接模式
public interface Peppery{ String style();}public class PepperySytle implements Peppery{ //实现"辣味"风格的方法 public String style() { return "辣味很重,很过瘾..."; }}public class PlainStyle i转载 2013-11-24 20:37:48 · 568 阅读 · 0 评论 -
abstract factory模式
public interface Output{ //接口里定义的属性只能是常量 int MAX_CACHE_LINE = 50; //接口里定义的只能是public的抽象实例方法 void out(); void getData(String msg);} public class BetterPrinter implements Output{ priv转载 2013-11-24 19:45:19 · 466 阅读 · 0 评论 -
类之间的关系
原创 2013-06-08 21:08:14 · 716 阅读 · 0 评论 -
装饰模式
// DECORATOR 模式,包装器Wrapper,装饰模式 组件嵌入另一个对象中,由这个对象添加边框。我们称这个嵌入的对象为装饰class VisualCompontent {public: VisualCompontent(){} virtual void Draw(){} virtual void Resize(){}};class TextView:publi原创 2013-05-28 23:17:09 · 502 阅读 · 0 评论 -
责任链模式
//责任链模式#include class Request{private: int day; string reason;public: Request(int day, string reason) { this->day = day; this->reason = reason; } int g原创 2013-05-28 23:06:01 · 526 阅读 · 0 评论 -
test.cpp
// test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using std::string;using std::cin;using std::cout;//using std::map;#include "memento.h"//#include "clist.h"#incl原创 2013-05-28 23:00:21 · 684 阅读 · 0 评论 -
观察者模式
/*当调用concreatesubject 的setsate方法后concreateobserver 中state 也会同步更新观察者模式用于MVC 模式中M :Model ---> 目标的基类 V : View -----> 观察者的基类*/#include using std::vector;class observer{ frie原创 2013-05-28 22:49:16 · 464 阅读 · 0 评论 -
memento (备忘录模式)
/*备忘录对象行为模式*/class Memento;class originator{public: originator(int state); void SetMemento( Memento *mem); Memento * CreateMemento(); void setstate(int ); void print();private:原创 2013-05-28 22:40:34 · 530 阅读 · 0 评论 -
Observer 观察者模式
/** * Description: * Copyright (C), 2001-2010, Yeeku.H.Lee * This program is protected by copyright laws. * Program Name: * Date: * @author Yeeku.H.Lee kongyeeku@163.com * @version 1.0转载 2013-11-24 22:17:57 · 641 阅读 · 0 评论