设计模式
cococut
这个作者很懒,什么都没留下…
展开
-
模式的定义!
一种设计模式是对一种相同问题的解决方法,设计模式经常和面向对象的编程相关,但是不是唯一的,一些非计算学科的概念也和设计模式息息相关. 设计模式并不意味该问题只有一种解决方法,也不意味该模式是该问题的最佳解决方法,而仅仅是对该特定问题的提供一种最佳的经过实践的方法.该方法是经过无数实践经验得来的. 模式和编程环境相关,不通的编程环境会影响到模式的选择,不是所有的编程环境都支持所有的设计模式,在某种编原创 2004-07-08 10:30:00 · 1192 阅读 · 1 评论 -
Command--------行为型设计模式之二
例子: class Pay{public: virtual float CalculatePay()= 0;};class Commissioned:public Pay{public: Commissioned(float fbasepay,float fcommission):_basePay(fbasepay),_commissionRate(fcommission) { } float C原创 2004-07-09 10:29:00 · 881 阅读 · 0 评论 -
Visitor----------模式
例子: class Modem{public: virtual void Dial(CString pno) =0; virtual void Handup() =0; virtual void Send(char c) =0; virtual void Recv() = 0; virtual accept(ModemVisitor v)=0;};class Haye原创 2004-07-12 17:37:00 · 1027 阅读 · 1 评论 -
Facade-----结构型设计模式之一
Facade为子系统的一组接口提供一个一致的界面,比如对数据库的访问,当从一种数据换为另外一种的时候,接口不变,因此客户端不变,减少了耦合度. 列举: #include // MFC DAO database classes.class DB{ static CDaoDatabase s_db;public: static void Init(原创 2004-07-08 15:15:00 · 964 阅读 · 1 评论 -
singleton design pattern----------创建型模式之一
该模式很简单,仅列举下列的代码: class SingleTonClass { private: static SingleTonClass* singleton; private: SingleTonClass() {} public: static SingleTonClass* GetInstance(); }; SingleTonCla原创 2004-07-08 10:41:00 · 845 阅读 · 2 评论 -
Factory--------创建型设计模式之二
创建型模式由一个对象的接口和一个具体的类组成,该控制类决定在运行的时候该创建那个具体的对象,该模式在应用程序的日志处理中非常有用,比如在写日志的是采用写到文件中还是数据库中. class Logger{ virtual void LogError() = 0; virtual void LogError(CString strErr) = 0;};class DBLogger:public Log原创 2004-07-08 11:26:00 · 793 阅读 · 0 评论 -
Mediator----行为型设计模式之一
Mediator用一个中介对象来封装一系列关于对象交互行为. 为何使用Mediator?各个对象之间的交互操作非常多;每个对象的行为操作都依赖彼此对方,修改一个对象的行为,同时会涉及到修改很多其他对象的行为,如果使用Mediator模式,可以使各个对象间的耦合松散,只需关心和 Mediator的关系,使多对多的关系变成了一对多的关系,可以降低系统的复杂性,提高可修改扩展性. 例子 class Me原创 2004-07-08 16:15:00 · 988 阅读 · 1 评论