![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式学习笔记
goGogoiii
这个作者很懒,什么都没留下…
展开
-
设计模式实战学习笔记(一):状态、外观、单例、中介者、桥接、策略模式
(一)状态模式相关链接:http://www.cnblogs.com/wangjq/archive/2012/07/16/2593485.htmlusing System.Collections;using System.Collections.Generic;using UnityEngine;public class StateDemo : MonoBehaviour{...原创 2019-08-16 15:15:46 · 298 阅读 · 0 评论 -
设计模式实战学习笔记(三):工厂(简单工厂、工厂模式和抽象工厂)、建造者模式
(九)工厂模式(简单工厂、工厂模式和抽象工厂)创建战士工厂:创建ICharacterFactory工厂接口,和继承其的子类 SoldierFactory 和 EnemyFactory在IWeapon中 声明枚举类 WeaponType 武器类型在ICharacterAttri中对其构造函数进行改写,对其属性进行初始化(后续不做改变)using System.Colle...原创 2019-08-16 16:25:19 · 261 阅读 · 0 评论 -
设计模式实战学习笔记(二):模板、有限状态机FSM、角色管理系统
(六)模板模式模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤,是一种基于继承的代码复用技术。相关链接:https://blog.csdn.net/lovelion/article/details/8299794模板模式代码:using System.Collections;using ...原创 2019-08-16 15:15:56 · 362 阅读 · 0 评论 -
设计模式实战学习笔记(四):享元、组合、命令模式
(十一)享元模式:当相同的角色(如多个新手士兵)共享多个不变的属性时,使不变的属性只存在一份(会变化的属性如 当前生命值、等级…),每次要使用的时候,就去储存相同属性的BaseAttr工厂中取得该属性,可减少所占用的内存。——重构代码——完成战士/敌人角色的构造(使用享元) :将ICharacterAttr 中的基础属性删除,创建CharacterBaseAttr用于管理角色的相同...原创 2019-09-19 09:17:50 · 291 阅读 · 0 评论 -
设计模式实战学习笔记(五):责任链、观察者模式
(十五)责任链模式(关卡系统)责任链模式的代码实现:public class ChainOfResponsibilityDM : MonoBehaviour{ private void Start() { char c = 'b'; HandlerA handlerA = new HandlerA(); Handler...原创 2019-09-21 15:21:43 · 224 阅读 · 0 评论 -
设计模式实战学习笔记六):备忘录、访问者模式
(十七)备忘录模式:备忘录模式(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可将该对象恢复到原先保存的状态。从结构中看出备忘录模式包含3个角色:1.Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻自身的内部状态,并可使用备忘录恢复内部状态。Originator可以根据需要决定Memento...原创 2019-09-22 12:36:43 · 164 阅读 · 1 评论 -
设计模式实战学习笔记(七):适配器、代理、装饰模式
(十九)适配器模式适配器模式代码实现public class DMAdapter:MonoBehaviour{ void Start() { Adapter adapter = new Adapter(new NewPlugin()); StandardInterface si = adapter; si.Request(...原创 2019-09-24 20:28:33 · 116 阅读 · 0 评论