LonelySu

One Who Wants To Wear A Crown,Bear The Crown.

设计模式深入学习--Observer 观察者模式(行为型模式)

今天我们继续来聊聊Observer 观察者模式 。Observer 观察者模式是新手入门通知类编程解耦合的最佳设计模式,没有之一。观察者模式有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象...

2017-01-21 16:34:13

阅读数 530

评论数 0

设计模式深入学习-Builder生成器(创建型模式 )

假如我们在创建游戏中的一个房屋House设施,该房屋肯定会有好几个部分组成,而且各个部分都会经常发生改变。比如窗,门等设施需求经常发生变化,但房屋整体不变。比如换个屋顶,但我们整个房子其他东西不变。如果我们使用最直观的设计方法,那么每一个房屋部分的变化,都会导致房屋构建的重新修正。 在我们的创建...

2017-01-21 16:17:50

阅读数 469

评论数 0

设计模式深入学习-Factory Method设计模式

今天我们继续来聊下Factory Method创建型设计模式。在我们的开发中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象经常面临着剧烈的变化,但是它却拥有比较稳定的接口。 那么我们应该如何应付这样的变化,怎么提供一种“封装机制”来隔离出“这个易变对象”的变化,从而保持系统中“其他...

2017-01-21 16:05:58

阅读数 215

评论数 0

设计模式深入学习---Prototype原型模式

今天我们继续来聊下Prototype原型模式。这篇应该是关于工厂设计模式的最后一篇。下次就往内部讲解结构类型的设计模式。首先我们说下Prototype原型模式的用法。Prototype原型模式主要是用来处理依赖关系的倒置。 比如抽象A类依赖了实现细节B:          拿我们上个帖子举...

2017-01-21 15:58:40

阅读数 560

评论数 0

设计模式深入学习--Strategy 策略模式(行为型模式)

这次来说说Strategy 策略模式,Strategy 策略模式在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。 我们先来看看Strategy 策略模式的基本代码。 //抽象状态类 定义一个接口以封装与Co...

2017-01-21 15:49:16

阅读数 458

评论数 0

设计模式深入学习-单例模式

今天我们来说说在编程时候我们最常见也是最好用的一种单例模式 。单例模式太简单了,让一个类变成只有一个唯一的对象类,方便客户对象调用。那这有什么好说的呢,我们先来看看一个普通的单例模式代码。 public class Singleton { private static Singlet...

2017-01-21 15:41:37

阅读数 441

评论数 0

设计模式深入学习--Visitor 访问者模式(行为型模式)

这次我们来聊聊Visitor 访问者模式。访问者模式是封装一些施加于某种数据结构之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保存不变。访问者模式适用于数据结构相对稳定的系统, 它把数据结构和作用于数据结构之上的操作之间的耦合度降低,使得操作集合可以相对自由地改变。数据结构...

2017-01-21 15:39:50

阅读数 449

评论数 0

设计模式深入学习--State 状态模式(行为型模式)

这次来说说State状态模式,State状态模式用于我们在编程开发中大量用到 if Else的情况下,有很多分支的判断那么用状态模式就最好不过了,如在AI设计中的状态机就可以用State状态模式来设计一个AI机器人。 我们先来看看State状态模式的基本代码。 //抽象状态类 定义一个接口以封装...

2017-01-16 17:02:47

阅读数 308

评论数 0

设计模式深入学习--Observer 观察者模式(行为型模式)

今天我们继续来聊聊Observer 观察者模式 。Observer 观察者模式是新手入门通知类编程解耦合的最佳设计模式,没有之一。观察者模式有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象...

2017-01-16 15:02:49

阅读数 251

评论数 0

设计模式深入学习--Template Method模板方法模式(行为型模式)

今天继续来聊下Template Method模板方法模式 。 模板方法模式——在一个抽象类中定义一个操作中的算法骨架(对应于生活中的大家下载的模板),而将一些步骤延迟到子类中去实现(对应于我们根据自己的情况向模板填充内容)。模板方法使得子类可以不改变一个算法的结构前提下,重新定义算法的某些特定步骤...

2017-01-16 14:54:34

阅读数 274

评论数 0

设计模式深入学习--Mediator 中介者模式(行为型模式)

今天我们来介绍下Mediator 中介者模式。Interpreter 解释器模式是一种我们游戏设计中大量会用到的设计模式,中介者模定义了一个中介对象来封装一系列对象之间的交互关系。中介者使各个对象之间不需要显式地相互引用,从而使耦合性降低,而且可以独立地改变它们之间的交互行为。我们先来看基本代...

2017-01-16 14:45:31

阅读数 435

评论数 0

设计模式深入学习--Interpreter 解释器模式(行为型模式)

今天我们来介绍下 Interpreter 解释器模式。Interpreter 解释器模式我们能用到的地方有很多,比如我们经常用的金额 用数字转中文字,10000转成中文就是一万。 顾名思义,这个设计模式就是一个解释器,通过你输入的一个类型转成另外一个类型出来,在我们的sql查询数据库里面更...

2017-01-16 14:32:02

阅读数 504

评论数 0

设计模式深入学习--Command 命令模式(行为型模式)

今天我们来介绍下 Command 命令模式。Command 命令模式是一种我们在日常游戏开发中常见的一种设计模式,比如在策略类游戏中我们会看到大量的类似设计,比如 我们操作小人 请求做一件事,然后小人去响应,这种“行为请求者”与“行为实现者”是紧耦合的。但在某些场合,比如要对行为进行“记录、撤销...

2017-01-16 14:22:43

阅读数 423

评论数 0

设计模式深入学习---Adapter 适配器模式(结构型模式)

首先我们了解下什么是Adapter 适配器模式。在多人开发程序中,经常会碰到这样的问题,A编写了一套数据,B也编写了一套数据,两个人的实现目的相同,结构相同,但就是名字不一样。这时候A要把B的代码结合到自己的程序中,如A制作了几个敌人攻击类,里面都有Attack方法,通过循环把全部敌人的Attac...

2017-01-16 14:03:10

阅读数 467

评论数 0

设计模式深入学习--Proxy 代理模式(结构型模式)

今天继续介绍下 Proxy 代理模式 代理模式。Proxy 代理模式是我们开发中挺常见的一种设计模式。当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象与代理对象需要实现相同的接口。根据代理模式的使用目的不同,代理模式又可以...

2017-01-16 11:54:24

阅读数 519

评论数 0

设计模式深入学习--Chain of Responsibility 职责链模式职责链模式(行为型模式)

这次和大家一起学习一下 职责链设计模式。职责链设计模式非常好用,尤其是在做逻辑判断处理很多的情况下,比如一些AI的设计,配合FSM状态机可以做到一个入门级AI的小机器人。后面就用cs的ai敌人来大概讲解下职责链模式的用法。首先我们来看下职责链示例的代码: /// /// Handler类 定义一...

2017-01-16 11:43:25

阅读数 204

评论数 0

设计模式深入学习-抽象工厂模式

今天我们来聊下抽象工厂模式。首先在程序设计的时候,我们最关心的是怎么解决需求经常变动的情况下如何去设计程序,来解决各个对象相互之间的耦合性的分离。我们在编写代码的时候,首先会经常New 很多新对象,比如创建一个Apple对象Apple apple=new Apple();我们新建一个 苹果对象...

2017-01-16 11:03:02

阅读数 179

评论数 0

设计模式深入学习--Flyweight 享元模式(结构型模式)

这次和大家一起学习一下 享元设计模式。我们在开发游戏的时候经常可能会遇到使用大量细粒度对象,比如三消游戏的 这些一个个小方块。又或者一个大型模拟游戏里面的Ai人物,或者围棋里面的黑白子,等等。。。 我们一般的优化方法就是使用对象池,将使用的拿出来,不使用了又放回去,这样的方法虽然好,但还是没有根...

2017-01-16 10:22:41

阅读数 186

评论数 0

设计模式深入学习---Bridge桥接模式(结构型模式)

上期我们说了 Adapter适配器模式的用法,这次我们介绍下Bridge桥接模式。在介绍桥接模式的好处之前,我们先来看一个没有用该模式的一个小案例,然后再对比用了该模式的好处。 假设,我们制作一个手机游戏。该游戏只在安卓平台下面运行。 public class AndroidGame...

2017-01-13 16:38:42

阅读数 243

评论数 0

设计模式深入学习---Decorator装饰模式(结构型模式)

我们先理解下什么情况会用到Decorator装饰模式。      比如我们设计一个游戏人物,人物拥有的装扮,如衣服,裤子,靴子,手套,戒指,帽子 等 这些类型的开发,又或者是设计一个部件,比如一个武器凹槽,我们这个武器凹槽可以加 激光炮,加农炮,枪,防御盾。再或者我们制作游戏人物的技能框,里面可...

2017-01-13 15:42:29

阅读数 184

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭