设计模式
文章平均质量分 90
Alcoholsong
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
策略模式的应用——游戏中武器的选择
策略模式(Strategy Pattern):定义一系列算法类,将每一个算法封装起来,并让它们可以相互替换,策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。策略模式是一种对象行为型模式。 在策略模式结构图中包含如下几个角色:Context(环境类):环境类是使用算法的角色,在环境类中维持一个对抽象策略类的引用实例,用于定义所采用的策略,实际上环境类将调用策略类中实现算法的方转载 2015-04-18 16:26:12 · 1550 阅读 · 0 评论 -
C++ 设计模式之状态模式的使用
状态模式(State Pattern)是设计模式的一种,属于行为模式。定义(源于Design Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。意图允许一个对象在其内部状态改变时改变它的行为适用场景1.一个对象的行为原创 2015-04-19 17:29:06 · 506 阅读 · 0 评论 -
设计模式之策略模式与状态模式的区别
转策略模式与状态模式的比较状态模式(state pattern)和策略模式(strategy pattern)的实现方法非常类似,都是利用多态把一些操作分配到一组相关的简单的类中,因此很多人认为这两种模式实际上是相同的。然而在现实世界中,策略(如促销一种商品的策略)和状态(如同一个按钮来控制一个电梯的状态,又如手机界面中一个按钮来控制手机)是两种完全不同的思想。当我们对状态和策略进行建模时,这种差异转载 2015-04-19 17:46:23 · 1610 阅读 · 0 评论 -
C++设计模式之抽象工厂模式
定义:抽象工厂模式提供了一种方法,把那些拥有公共主题的工厂组合起来,并且在使用时不需要考虑他们生产的是哪个具体类的对象。 AbstractFactory模式就是用来解决这类问题的:要创建一组相关或者相互依赖的对象。例如,在游戏开发中,你需要创建不同等级,不同的等级有不同的怪物出现,这样就涉及了产品等级结构与产品族。 先介绍一下产品等级结构与产品族的概念: 概述:该模式是工厂模式原创 2015-04-24 13:04:11 · 488 阅读 · 0 评论 -
C++之观察者模式(订阅-发布模式)
定义:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。最常见的一个例子就是:对同一组数据进行统计分析时候,我们希望能够提供多种形式的表示(例如以表格进行统计显示、柱状图统计显示、百分比统计显示等)。这些表示都依赖于同一组数据,我们当然需要当数据改变的时候,所有的统计的显示都能够同时改变。Obse原创 2015-04-27 13:03:49 · 10943 阅读 · 4 评论
分享