
设计模式
wzj_05
这个作者很懒,什么都没留下…
展开
-
《抽象工厂模式》
抽象工厂模式,就是把工厂类也给他多态了。 根据需求不同的工厂生产不同品种的实体。比如在游戏中。 纯在vip用户对应的vip的宠物对应的vip的怪物,或者vip任务。因此,vip工厂就生产vip这些东西了。但是普通的也要生产。因此 就抽象出来两个类了。 下面我是根据游戏中,不同的角色来定义的一些实体类。直接上图,大家就看明白了 也就是转载 2013-08-30 14:17:55 · 448 阅读 · 0 评论 -
《模板方法模式》
这个模式就是利用了面向对象的多态,抽象哪些公用的方法,就不用实现了,其他的按照业务逻辑来独自实现。等到调用就ok了 今天只能上代码了[cpp] view plaincopy// TemplateMethod.cpp : 定义控制台应用程序的入口点。 // //****************************转载 2013-08-30 15:58:21 · 379 阅读 · 0 评论 -
《观察者模式》
观察者模式应该说比较简单,就是将不同观察者注册到被观察者内部,被观察者做了什么动作,都会通知到观察者。。。 代码中,被观察者也可以形成接口,有不同的子类,被观察,更灵活一些。。。 下面代码 [cpp] view plaincopy// Observer.cpp : 定义控制台应用程序的入口点。 //***转载 2013-08-30 15:48:43 · 430 阅读 · 0 评论 -
《职责链模式》
责任链模式,用我的理解就是动作的处理链表。根据请求的不同类型,在链表查找相应类型的处理者。处理者是一个链表。用下面的一个图来解释 基本的UML图为[cpp] view plaincopy// ChainofResponsibility.cpp : 定义控制台应用程序的入口点。 //********转载 2013-08-30 15:26:31 · 474 阅读 · 0 评论 -
《代理模式》
代理模式,就是相同的两个类,一个类做另一个类的代理人。出头露面的是第一个人,实际做事情的是第二人。 但是第一个人怎么知道第二个人能做那些事情。就继承了同一个父类。 CMon类代理他所有女儿的事情。 而不用他们女儿亲自出马,但是呢实际做事情的还是他们女儿。下面上代码 [cpp] view plaincopy转载 2013-08-30 15:22:40 · 412 阅读 · 0 评论 -
《策略模式》
什么是策略模式,用我个人的定义就是利用了面向对象的多态等特性,通过一个类来管理实体类的一种编程技巧。这种模式在项目中是经常用到的。 通过建模大家可以清晰的看到这些类层次关系。下面就用代码来实现一下。我使用的是VS2005的,大家可以根据需要修改部分代码。 [cpp] view plaincopy#inc转载 2013-08-30 15:51:25 · 433 阅读 · 0 评论 -
《外观模式》
看了外观模式的一些资料。觉得外观模式就是为了解决实体类过多,而这些实体类就是为了做一件事情,组合起来。 因此外观模式出现了,他就是解决很多类的协调关系。用另个一类聚合这些类之间的事情。因此,当我们调用一个类的时候,所有的事情完成了 这个看起来就像一个外观一样。 图呢,和策略模式差不多,但是本质思想的功能是不一样的。我在这里是用去征政府部门办事转载 2013-08-30 15:17:42 · 520 阅读 · 0 评论 -
《装饰模式》
自我理解就是把对象重新装饰了一遍。通过继承同一个基类。而不用添加额外的类了。。。。上图吧通过修饰类达到我们想要的效果。修饰类通常初始化了基类。[cpp] view plaincopy// Decorator.cpp : 定义控制台应用程序的入口点。 //**************************转载 2013-08-30 15:07:42 · 407 阅读 · 0 评论 -
《桥接模式》
桥接模式就是 独立和实现相分离。不同的厂家生产不同的产品。。。。产品和厂家有这组合的关系。上代码[cpp] view plaincopy// Bridge.cpp : 定义控制台应用程序的入口点。 // / //*************************************转载 2013-08-30 14:58:04 · 449 阅读 · 0 评论 -
《适配器模式》
所谓适配器模式,就是为了解决或者叫融合系统之间的差异,通过提供一个类,来融合这种差异。这让我想起来读《UNIX 编程艺术》里一个名词 就是胶合层。 胶合层也算是一种适配上层鱼下层之间的差异和出现的一种处理方式。 这个是解决系统差异的一个具体表现, 下面上图吧 代码片段 [cpp] view转载 2013-08-30 14:51:50 · 417 阅读 · 0 评论 -
设计模式的分类
根据其目的(模式是用来做什么的)可分为创建型(Creational),结构型(Structural)和行为型(Behavioral)三种:创建型模式主要用于创建对象。结构型模式主要用于处理类或对象的组合。行为型模式主要用于描述对类或对象怎样交互和怎样分配职责。根据范围,即模式主要是用于处理类之间关系还是处理对象之间的关系,可分为类模式和对象模式两种:类模式处理类和子类之间的原创 2013-08-30 14:29:15 · 454 阅读 · 0 评论 -
《建造者模式》
今天学习了建造者模式,目前较为复杂的一个模式之一。但是思考起来就觉得她很像抽象工厂的生产者模式。 但是比生产者多了一个导演着的身份,这个指挥着建造者去生产谁。。。 所以,这个模式还是挺有意思的。直接上UML图。 我们生产两种商品,两种商品是有厂家决定,商品只决定具有哪些。因此,这时候是有生产者说了算。 但是还有一个更高级的指挥转载 2013-08-30 14:47:59 · 393 阅读 · 0 评论 -
面向对象设计原则
常用的面向对象设计原则包括7个,这些原则并不是孤立存在的,它们相互依赖,相互补充。原创 2013-08-30 14:34:15 · 399 阅读 · 0 评论 -
《工厂模式》
所谓工厂模式,其实就是用来产生实例的地方。生产某一类型的产品。因此也是利用了类管理和类多态的一个特性吧。 下面直接上图 在Factory 中产生human的实例, 然后通过实例来调用方法。[cpp] view plaincopy// Factory.cpp : 定义控制台应用程序的入口点。转载 2013-08-30 14:13:10 · 388 阅读 · 0 评论 -
《命令模式》
一、建立命令队列;二、可以将命令记入日志;三、接收请求的一方可以拒绝;四、添加一个新命令类不影响其它类;命令模式把请求一个操作的对象与知道怎么操行一个操作的对象分开命令模式感觉就是一个领导接受客户端的命令,让底下的人去做,但是比较特殊。继承命令 上图 上代码 [cpp] view plaincopy转载 2013-08-30 15:32:50 · 442 阅读 · 0 评论