<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LonelySu]]></title><description><![CDATA[One Who Wants To Wear A Crown,Bear The Crown.]]></description><link>https://blog.youkuaiyun.com/MarioHos</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; MarioHos]]></copyright><item><title><![CDATA[设计模式深入学习--Observer 观察者模式(行为型模式)]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54646338</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54646338</guid><author>MarioHos</author><pubDate>Sat, 21 Jan 2017 16:34:13 +0800</pubDate><description><![CDATA[今天我们继续来聊聊Observer
 观察者模式 。Observer 观察者模式是新手入门通知类编程解耦合的最佳设计模式，没有之一。观察者模式有时被称作发布/订阅模式，观察者模式定义了一种一对多的依赖关系，让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时，会通知所有观察者对象，使它们能够自动更新自己。先来看基本使用用法。

/// 
/// Subject类 主题抽象统治]]></description><category></category></item><item><title><![CDATA[设计模式深入学习-Builder生成器(创建型模式 )]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54646307</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54646307</guid><author>MarioHos</author><pubDate>Sat, 21 Jan 2017 16:17:50 +0800</pubDate><description><![CDATA[假如我们在创建游戏中的一个房屋House设施，该房屋肯定会有好几个部分组成，而且各个部分都会经常发生改变。比如窗，门等设施需求经常发生变化，但房屋整体不变。比如换个屋顶，但我们整个房子其他东西不变。如果我们使用最直观的设计方法，那么每一个房屋部分的变化，都会导致房屋构建的重新修正。
 在我们的创建程序的工作中，有时候面临着"一个复杂对象"的创建工作，其通常由各个部分的子对象用一定的算法构成，由于]]></description><category></category></item><item><title><![CDATA[设计模式深入学习-Factory Method设计模式]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54646234</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54646234</guid><author>MarioHos</author><pubDate>Sat, 21 Jan 2017 16:05:58 +0800</pubDate><description><![CDATA[今天我们继续来聊下Factory Method创建型设计模式。在我们的开发中，经常面临着“某个对象”的创建工作，由于需求的变化，这个对象经常面临着剧烈的变化，但是它却拥有比较稳定的接口。
 那么我们应该如何应付这样的变化，怎么提供一种“封装机制”来隔离出“这个易变对象”的变化，从而保持系统中“其他依赖该对象的对象”不随着需求改变而改变呢？而我们今天介绍的 Factory
 Method创建型设]]></description><category></category></item><item><title><![CDATA[设计模式深入学习---Prototype原型模式]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54646198</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54646198</guid><author>MarioHos</author><pubDate>Sat, 21 Jan 2017 15:58:40 +0800</pubDate><description><![CDATA[今天我们继续来聊下Prototype原型模式。这篇应该是关于工厂设计模式的最后一篇。下次就往内部讲解结构类型的设计模式。首先我们说下Prototype原型模式的用法。Prototype原型模式主要是用来处理依赖关系的倒置。
 比如抽象A类依赖了实现细节B：
    
    拿我们上个帖子举例，比如我们的小车依赖于汽油发动机。 但是当我们的小车不使用汽油发动机，改用电动了，那这时候修改起来就]]></description><category></category></item><item><title><![CDATA[设计模式深入学习--Strategy 策略模式(行为型模式)]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54646152</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54646152</guid><author>MarioHos</author><pubDate>Sat, 21 Jan 2017 15:49:16 +0800</pubDate><description><![CDATA[这次来说说Strategy 策略模式，Strategy 策略模式在软件开发中也常常遇到类似的情况，实现某一个功能有多种算法或者策略，我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。 我们先来看看Strategy
 策略模式的基本代码。
//抽象状态类 定义一个接口以封装与Context的一个特定状态相关的行为[/size]
 
[size=16px]
[/size]
[siz]]></description><category></category></item><item><title><![CDATA[设计模式深入学习-单例模式]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54646144</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54646144</guid><author>MarioHos</author><pubDate>Sat, 21 Jan 2017 15:41:37 +0800</pubDate><description><![CDATA[今天我们来说说在编程时候我们最常见也是最好用的一种单例模式 。单例模式太简单了，让一个类变成只有一个唯一的对象类，方便客户对象调用。那这有什么好说的呢，我们先来看看一个普通的单例模式代码。

public class Singleton
{
    private static Singleton instance;
 
    private Singleton() { }
 
    pu]]></description><category></category></item><item><title><![CDATA[设计模式深入学习--Visitor 访问者模式(行为型模式)]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54646102</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54646102</guid><author>MarioHos</author><pubDate>Sat, 21 Jan 2017 15:39:50 +0800</pubDate><description><![CDATA[这次我们来聊聊Visitor
 访问者模式。访问者模式是封装一些施加于某种数据结构之上的操作。一旦这些操作需要修改的话，接受这个操作的数据结构则可以保存不变。访问者模式适用于数据结构相对稳定的系统， 它把数据结构和作用于数据结构之上的操作之间的耦合度降低，使得操作集合可以相对自由地改变。数据结构的每一个节点都可以接受一个访问者的调用，此节点向访问者对象传入节点对象，而访问者对象则反过来执行节点对]]></description><category></category></item><item><title><![CDATA[设计模式深入学习--State 状态模式(行为型模式)]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54575610</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54575610</guid><author>MarioHos</author><pubDate>Mon, 16 Jan 2017 17:02:47 +0800</pubDate><description><![CDATA[这次来说说State状态模式，State状态模式用于我们在编程开发中大量用到 if Else的情况下，有很多分支的判断那么用状态模式就最好不过了，如在AI设计中的状态机就可以用State状态模式来设计一个AI机器人。
 我们先来看看State状态模式的基本代码。
//抽象状态类 定义一个接口以封装与Context的一个特定状态相关的行为
 
abstract class State
{]]></description><category></category></item><item><title><![CDATA[设计模式深入学习--Observer 观察者模式(行为型模式)]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54574152</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54574152</guid><author>MarioHos</author><pubDate>Mon, 16 Jan 2017 15:02:49 +0800</pubDate><description><![CDATA[今天我们继续来聊聊Observer
 观察者模式 。Observer 观察者模式是新手入门通知类编程解耦合的最佳设计模式，没有之一。观察者模式有时被称作发布/订阅模式，观察者模式定义了一种一对多的依赖关系，让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时，会通知所有观察者对象，使它们能够自动更新自己。先来看基本使用用法。
   /// 
/// Subject类 主题抽象统]]></description><category></category></item><item><title><![CDATA[设计模式深入学习--Template Method模板方法模式(行为型模式)]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54574065</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54574065</guid><author>MarioHos</author><pubDate>Mon, 16 Jan 2017 14:54:34 +0800</pubDate><description><![CDATA[今天继续来聊下Template Method模板方法模式 。 模板方法模式——在一个抽象类中定义一个操作中的算法骨架（对应于生活中的大家下载的模板），而将一些步骤延迟到子类中去实现（对应于我们根据自己的情况向模板填充内容）。模板方法使得子类可以不改变一个算法的结构前提下，重新定义算法的某些特定步骤，模板方法模式把不变行为搬到超类中，从而去除了子类中的重复代码。先来看看实现代码：
abstract]]></description><category></category></item><item><title><![CDATA[设计模式深入学习--Mediator 中介者模式(行为型模式)]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54573919</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54573919</guid><author>MarioHos</author><pubDate>Mon, 16 Jan 2017 14:45:31 +0800</pubDate><description><![CDATA[今天我们来介绍下Mediator
 中介者模式。Interpreter 解释器模式是一种我们游戏设计中大量会用到的设计模式，中介者模定义了一个中介对象来封装一系列对象之间的交互关系。中介者使各个对象之间不需要显式地相互引用，从而使耦合性降低，而且可以独立地改变它们之间的交互行为。我们先来看基本代码来了解下实现的原理。
/// 
/// Mediator类，抽象中介者类
/// 
abstrac]]></description><category></category></item><item><title><![CDATA[设计模式深入学习--Interpreter 解释器模式(行为型模式)]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54573779</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54573779</guid><author>MarioHos</author><pubDate>Mon, 16 Jan 2017 14:32:02 +0800</pubDate><description><![CDATA[今天我们来介绍下 Interpreter
 解释器模式。Interpreter 解释器模式我们能用到的地方有很多，比如我们经常用的金额 用数字转中文字，10000转成中文就是一万。
 顾名思义，这个设计模式就是一个解释器，通过你输入的一个类型转成另外一个类型出来，在我们的sql查询数据库里面更加有大量的运用。我们先来看懂下基础代码，然后最后实现一个
 我们游戏中的中英文切换功能。
clas]]></description><category></category></item><item><title><![CDATA[设计模式深入学习--Command 命令模式(行为型模式)]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54573639</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54573639</guid><author>MarioHos</author><pubDate>Mon, 16 Jan 2017 14:22:43 +0800</pubDate><description><![CDATA[今天我们来介绍下 Command
 命令模式。Command 命令模式是一种我们在日常游戏开发中常见的一种设计模式，比如在策略类游戏中我们会看到大量的类似设计，比如 我们操作小人 请求做一件事，然后小人去响应，这种“行为请求者”与“行为实现者”是紧耦合的。但在某些场合，比如要对行为进行“记录、撤销/重做、事务”等处理，这种无法抵御变化的紧耦合是不合适的。在这些情况下，将“行为请求者”与“行为实现]]></description><category></category></item><item><title><![CDATA[设计模式深入学习---Adapter 适配器模式(结构型模式)]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54573466</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54573466</guid><author>MarioHos</author><pubDate>Mon, 16 Jan 2017 14:03:10 +0800</pubDate><description><![CDATA[首先我们了解下什么是Adapter 适配器模式。在多人开发程序中，经常会碰到这样的问题，A编写了一套数据，B也编写了一套数据，两个人的实现目的相同，结构相同，但就是名字不一样。这时候A要把B的代码结合到自己的程序中，如A制作了几个敌人攻击类，里面都有Attack方法，通过循环把全部敌人的Attack方法调用。B也制作了一个敌人类，但是B的敌人类的方法不是Attack方法，叫Hit方法，那这时怎么办]]></description><category></category></item><item><title><![CDATA[设计模式深入学习--Proxy 代理模式(结构型模式)]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54572732</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54572732</guid><author>MarioHos</author><pubDate>Mon, 16 Jan 2017 11:54:24 +0800</pubDate><description><![CDATA[今天继续介绍下 Proxy
 代理模式 代理模式。Proxy 代理模式是我们开发中挺常见的一种设计模式。当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问，为了保证客户端使用的透明性，所访问的真实对象与代理对象需要实现相同的接口。根据代理模式的使用目的不同，代理模式又可以分为多种类型，例如保护代理、远程代理、虚拟代理、缓冲代理等，它们应用于不同的场合，满足用户的不同需求]]></description><category></category></item><item><title><![CDATA[设计模式深入学习--Chain of Responsibility 职责链模式职责链模式(行为型模式)]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54572286</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54572286</guid><author>MarioHos</author><pubDate>Mon, 16 Jan 2017 11:43:25 +0800</pubDate><description><![CDATA[这次和大家一起学习一下 职责链设计模式。职责链设计模式非常好用，尤其是在做逻辑判断处理很多的情况下，比如一些AI的设计，配合FSM状态机可以做到一个入门级AI的小机器人。后面就用cs的ai敌人来大概讲解下职责链模式的用法。首先我们来看下职责链示例的代码：
/// 
/// Handler类 定义一个处理请示的接口
/// 
abstract class Handler
{
    protect]]></description><category></category></item><item><title><![CDATA[设计模式深入学习-抽象工厂模式]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54572127</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54572127</guid><author>MarioHos</author><pubDate>Mon, 16 Jan 2017 11:03:02 +0800</pubDate><description><![CDATA[今天我们来聊下抽象工厂模式。首先在程序设计的时候，我们最关心的是怎么解决需求经常变动的情况下如何去设计程序，来解决各个对象相互之间的耦合性的分离。我们在编写代码的时候，首先会经常New
 很多新对象，比如创建一个Apple对象Apple apple=new Apple();我们新建一个
 苹果对象 而New就会实现依赖，比如我们另外要新建一个香蕉对象Banana banana =new Ban]]></description><category></category></item><item><title><![CDATA[设计模式深入学习--Flyweight 享元模式(结构型模式)]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54571532</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54571532</guid><author>MarioHos</author><pubDate>Mon, 16 Jan 2017 10:22:41 +0800</pubDate><description><![CDATA[这次和大家一起学习一下 享元设计模式。我们在开发游戏的时候经常可能会遇到使用大量细粒度对象，比如三消游戏的 这些一个个小方块。又或者一个大型模拟游戏里面的Ai人物，或者围棋里面的黑白子，等等。。。
 我们一般的优化方法就是使用对象池，将使用的拿出来，不使用了又放回去，这样的方法虽然好，但还是没有根本解决对象被大量new出来的事实，导致内存变得非常大，而Flyweight
 享元模式就是通过共享]]></description><category></category></item><item><title><![CDATA[设计模式深入学习---Bridge桥接模式(结构型模式)]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54409287</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54409287</guid><author>MarioHos</author><pubDate>Fri, 13 Jan 2017 16:38:42 +0800</pubDate><description><![CDATA[上期我们说了 Adapter适配器模式的用法，这次我们介绍下Bridge桥接模式。在介绍桥接模式的好处之前，我们先来看一个没有用该模式的一个小案例，然后再对比用了该模式的好处。
 假设，我们制作一个手机游戏。该游戏只在安卓平台下面运行。


public class AndroidGame
 {
     public void Run()
     {
         Console.]]></description><category></category></item><item><title><![CDATA[设计模式深入学习---Decorator装饰模式(结构型模式)]]></title><link>https://blog.youkuaiyun.com/MarioHos/article/details/54409095</link><guid>https://blog.youkuaiyun.com/MarioHos/article/details/54409095</guid><author>MarioHos</author><pubDate>Fri, 13 Jan 2017 15:42:29 +0800</pubDate><description><![CDATA[我们先理解下什么情况会用到Decorator装饰模式。  
   比如我们设计一个游戏人物，人物拥有的装扮，如衣服，裤子，靴子，手套，戒指，帽子 等 这些类型的开发，又或者是设计一个部件，比如一个武器凹槽，我们这个武器凹槽可以加
 激光炮，加农炮，枪，防御盾。再或者我们制作游戏人物的技能框，里面可以有各种各样的技能。
   这些时候只要是在同一个部件下，这个部件可以拥有很多独立而且等级平行的]]></description><category></category></item></channel></rss>