
设计模式
文章平均质量分 58
等待一朵花开
C++
展开
-
设计模式中类的关系
类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。 依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义 比较晦涩难懂,但在java中翻译 2016-08-13 19:54:03 · 197 阅读 · 0 评论 -
策略模式、代理模式
CContext相当于一个容器,容器中存储策略借口,策略借口可以派生多个实体策略,CContext只是简单的装载和调用策略,CContext里没有逻辑。策略会有更大的自主权,运行更多的逻辑。代理模式:看起来代理模式的结构和策略模式类似,都是由一个类来装载接口的一个实例,策略模式是CContext来装载,代理模式是CWangPo来装载。 CContex翻译 2016-08-13 19:56:29 · 473 阅读 · 0 评论 -
单例模式(singleton),工厂方法模式(factory),门面模式(facade)
CEmperor,需要单例的类说明:很多大臣拜见的皇帝,只有一个。体现在面向对象方面,CEmperor定义一个静态指针,和一个静态函数,私有化构造函数、析构函数、构造函数复制、重载赋值语句。注意:线程安全,采用互斥体的方式实现。Public class Singleton{ Private Singleton(){}; Public staticclas翻译 2016-08-13 19:59:29 · 1681 阅读 · 0 评论 -
抽象模式,适配器模式(Adapter),模板方法模式(Template method)
抽象工厂,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。对于工厂方法来说,抽象工厂可实现一系列产品的生产,抽象工厂更注重产品的组合。抽象工厂属于创建型模式。主要用于生产一系列产品,每一个工厂也可以由单件来实现。这里使用模板方式来传递参数,使代码更简洁,适配器模式:适配器模式,使用之处比较特殊,不属于常规设计模式,主要用于不同系统翻译 2016-08-13 20:01:49 · 1266 阅读 · 0 评论 -
建造者模式(builder),桥梁模式(bridge mode),命令模式(Command mode)
建造者模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。说明:CCarModel实现模板方法,Builder负责开始建造产品。建造产品时,构建的顺序由Director或main决定。注意:建造者模式和抽象工厂非常类似。建造者更重视产品建造时的逻辑顺序,而抽象工厂更重视生产出不同型号的产品,抽象工厂不关心顺序。建造者模式属翻译 2016-08-13 20:04:34 · 1292 阅读 · 0 评论 -
观察者模式(Observer),责任链模式,访问者模式(Visitor)
概念:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。行为型模式。main(),IObservable,被观察者接口CHanFeiZiObservable,被观察者韩非子IObserver,观察者接口CLiSiObserver,观察者李斯CZhouSiObserver观察者周斯说明:将观察者聚集到被观察者韩翻译 2016-08-13 20:10:17 · 3689 阅读 · 0 评论 -
状态模式(State)
概念:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。main(),客户CLiftState,电梯状态抽象类CCloseingState,电梯门关闭COpenningState,电梯门打开CRunningState,电梯运行CStoppingState,电梯停止CContext,电梯的控制面板说明:CContext保持电梯的状态,并提供操作的翻译 2016-08-13 20:11:49 · 278 阅读 · 0 评论 -
总结23中设计模式应用场景
设计模式主要分三个类型:创建型、结构型和行为型。 创建型: 一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点 ; 应用场景:一个无状态的类使用单例模式节省内存资源。 二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。 应用场景:一系列转载 2016-08-14 16:43:00 · 565 阅读 · 0 评论