
设计模式
ShaYX1991
从事软件设计开发的热情小白!
展开
-
设计模式之原型模式(C++)
1.作用     可以对对象进行动态隐藏的复制。例如在程序中需要生成某个状态下对象的副本时可以使用该模式。 有人会说利用类的拷贝构造函数也可以达到这样是效果,的确如此,但拷贝构造达不到隐藏的效果。 &原创 2018-06-24 00:03:32 · 259 阅读 · 0 评论 -
设计模式之责任链模式(C++)
1. 作用责任链模式主要用于处理请求,将处理请求的对象连成链,每个请求处理者都有着自己的处理权限. 意图:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求直到有一个对象处理它为止。2. UML类图 参与者:Handler:定义一个处理请求的接口。一般还带一个设置下一个处理者的接口。Concrete...原创 2018-07-30 22:04:57 · 1805 阅读 · 0 评论 -
设计模式之外观模式(C++)
1. 作用外观模式我认为是设计模式中最简单的一种模式了。我相信任何程序员无形中都使用过此模式。不信就看下去。 意图:为子系统中的一组接口提供一个一致的界面,Façade模式定义了一个高层接口,这个接口使得这一个系统更加容易使用。 说白了,其实就是对一系列接口的封装。2. UML类图 参与者:Facade:提供封装子系统的接口。Subsysytem classes:待...原创 2018-07-26 21:38:56 · 410 阅读 · 0 评论 -
设计模式之代理模式(C++)
1. 作用代理模式也称为委托模式。作用就是找一个对象来替我们访问某个对象。 意图:为其他对象提供一种代理以控制对这个对象的访问。2. UML类图 参与者:Subject:定义RealSubject和Proxy的共用接口,这样就可以在任何使用RealSubject的地方都可以使用Proxy。RealSubject:真实处理业务的角色。Proxy:保存一个引用使得代...原创 2018-07-29 21:22:45 · 8544 阅读 · 1 评论 -
设计模式之享元模式(C++)
1. 作用享元模式,顾名思义带有共享的意思,的确它就是用于共享对象的. 意图:运用共享技术有效地支持大量细粒度的对象。系统反复使用较少数量的对象,他们差别较小,从而的=达到反复利用的效果。2. UML类图 参与者:Flyweight(抽象享元类):通常是一个抽象类,在抽象享元类中声明了具体享元类公共的方法,这些方法可以向外界提供享元对象的内部数据(内部状态),同时也可以通...原创 2018-07-29 17:38:25 · 304 阅读 · 0 评论 -
设计模式之建造者模式(C++)
1. 作用建造者模式是对象创建型模式的一种,相对工厂模式系列稍微复杂。 意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 核心:同样的构建过程可以创建不同的表示。简单说就是同样的创建对象过程可以产生不同的对象。2. UML类图Product:表示被构造的复杂对象。通常有众多的必要组件构成。Builder:为创建一个Product对象的各个部件...原创 2018-07-15 19:06:35 · 232 阅读 · 0 评论 -
设计模式之装饰者(C++)
1. 作用装饰者模式是对继承的补充。怎么讲? 想想假如你想给某个类的方法加上一些功能,补充一下,但是又不能在原本的类上进行改动。首先想到的办法是继承这个类,重写这个需要加上某些功能的方法。过一段时间有需要加某些功能,你又继承刚刚那个类,又进行重写方法,几次下来,你继承层次就吓人了。 装饰者模式就是解决此类问题的,它避免了多次继承而实现改变某个方法的作用。 意图:动态的给一个对象添加一些额...原创 2018-07-25 21:36:44 · 301 阅读 · 0 评论 -
设计模式之抽象工厂(C++)
1. 作用抽象工厂:为创建一组相关或相互依赖的对象提供一个接口,而且无须指定它们的具体类。核心在于创建一组对象。2. UML类图 参与者:Product:为一类产品声明一个接口。ConreteProduct:定义一个将被相应的具体工厂创建的产品对象。Factory:声明一组创建抽象产品对象的接口操作。ConcreteFactory:实现创建一组对象的接口。3. ...原创 2018-07-14 15:07:11 · 244 阅读 · 0 评论 -
设计模式之多工厂(C++)
1. 作用简单工厂是工厂模式的扩展版,作用就不必多说,可以参看工厂模式。 它与工厂模式的区别在于为每一个产品定义一个创造者,即一个工厂方法只创建一个对象。 - UML类图 参与者:Product:产品抽象类,定义产品的接口。ConcreteProduct:产品,实现产品接口。Factory:工厂抽象类,主要定义创建产品的接口,即工厂方法,返回产品对象。Concrete...原创 2018-07-13 20:02:53 · 835 阅读 · 0 评论 -
设计模式之简单工厂(C++)
1. 作用简单工厂是工厂模式的简化版,作用就不必多说,可以参看工厂模式。 它与工厂模式的区别在于去除了抽象工厂类,并且工厂方法也为静态方法。2. UML类图 参与者:Product:产品抽象类,定义产品的接口。ConcreteProduct:产品,实现产品接口。Factory:工厂类,定义静态(static)工厂方法,实现产品的创建,通常传入参数是产品的代号,即枚举或者字...原创 2018-07-13 19:21:04 · 346 阅读 · 0 评论 -
设计模式之组合模式C++()
1. 作用组合模式也叫合成模式,或者部分——整体模式。它作用很明显可以是你将整体和部分同等对待。 意图:将对象组合成树形结构以表示“部分——整体”的层次结构,使得用户对单个对象的使用具有一致性。2. UML类图组合模式有两种形式,安全模式和透明模式。 透明模式 安全模式参与者:Componet: 为组合对象声明接口。实现所有类共有的接口行为。声明节后...原创 2018-07-24 22:08:18 · 248 阅读 · 0 评论 -
设计模式之适配器模式(C++)
1. 作用适配器模式是一种补就模式。 意图:将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。2. UML类图 参与者: - Target:定义Client使用的与特定领域相关的接口。 - Client:与符合Target接口的对象协同。即是Target的使用场景。 - Adaptee:定义一个已经存在的...原创 2018-07-18 21:47:33 · 6242 阅读 · 0 评论 -
设计模式之桥梁模式(C++)
1. 作业桥梁模式完全是为了解决继承的缺点而设计的模式。继承的缺点是什么?即强侵入性,父类拥有的方法,子类必须照盘接收,如果只有这两层结构到没什么,假设是三层结构,子类下面还有子子类。突然有一天子类想重写父类的某个方法,但是子子类又想保持父类的方法实现,咋办? 意图:将抽象部分和实现部分分离,使他们都可以独立的变化。 继承恰恰就死抽象和实现耦合在一起的。关系够清楚了的吧。<\font...原创 2018-07-23 22:35:23 · 861 阅读 · 0 评论 -
设计模式之工厂模式(C++)
1.作用在你创建自定义对象的地方都可以使用该模式。核心作用:将创建对象者和创建的对象解耦了,创建着甚至不知道创建的真实对象是什么,仅仅知道一个代号。 意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类,使一个类的实例实例化延迟到子类。 核心:在子类中创建对象,客户仅知晓接口。2.UML类图 参与者:Product:产品抽象类,定义产品的接口。Concret...原创 2018-06-25 22:04:44 · 246 阅读 · 0 评论 -
设计模式之命令模式(C++)
1. 作用命令模式,一个与命令有关的模式。将命令的执行者封装在命令中,命令调用者和接受者(执行者)进行了解耦。 意图:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。2. UML类图参与者:Command:声明执行操作的接口,核心为Execute接口。同时将一个接受者对象绑定于一个动作。Concrete...原创 2018-07-31 20:40:04 · 311 阅读 · 0 评论