摘要: 意图: 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一系统更加容易使用。 适用性: 1、在设计初期阶段,应该要有意识的将不同的两个层分离,比如经典的三层架构,就需要考虑在数据访问层和业务逻辑层、业务逻辑层和表示层的层与层之间建立外观。 2、在开发阶段,子系统往往因 阅读全文
posted @ 2018-07-06 18:20 wxmwanggood 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式 在GOF的《设计模式:可复用面向对象软件的基础》一书中对模板方法模式是这样说的:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的接口即可重定义改算法的某些特定步骤。 UML类图 代码实现: 阅读全文
posted @ 2018-07-06 17:03 wxmwanggood 阅读(1533) 评论(0) 推荐(0) 编辑
摘要: Prototype 模式也正是提供了自我复制的功能, 就是说新对象的创建可以通过已有对象进行创建。在 C++中,拷贝构造函数( Copy Constructor) 曾经是很对程序员的噩梦,浅层拷贝和深层拷贝的魔魇也是很多程序员在面试时候的快餐和系统崩溃时候的根源之一。 在GOF的《设计模式:可复用面 阅读全文
posted @ 2018-07-06 16:33 wxmwanggood 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 工厂模式分为3种,即简单工厂模式、工厂方法模式、抽象工厂模式,其实大同小异,总结下来就是: 简单工厂模式:一个工厂,多个产品。产品需要有一个虚基类。通过传入参数,生成具体产品对象,并利用基类指针指向此对象。通过工厂获取此虚基类指针,通过运行时多态,调用子类实现。 1 // Factory.cpp : 阅读全文
posted @ 2018-07-06 13:48 wxmwanggood 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 根据程洁的大话模式: 阅读全文
posted @ 2018-07-06 12:01 wxmwanggood 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 饰模式:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。有时我们希望给某个对象而不是整个类添加一些功能。比如有一个手机,允许你为手机添加特性,比如增加挂件、屏幕贴膜等。一种灵活的设计方式是,将手机嵌入到另一对象中,由这个对象完成特性的添加,我们称这个嵌入的对象为装饰 阅读全文
posted @ 2018-07-06 11:09 wxmwanggood 阅读(227) 评论(0) 推荐(0) 编辑