
每天一个设计模式
文章平均质量分 59
用unity设计23+种设计模式,扩充若干种模式
飞浪纪元[FWC–FE]
hi! here is wangshuo!
目前开发unity和cocos引擎开发游戏和VR,争取做一只有梦想的咸鱼
同时也在积极入坑虚幻引擎,欢迎大家一起交流学习!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
用Unity写设计模式—状态机模式
用Unity写设计模式—外传—状态机模式不罗嗦,直接上代码框架模块系列——简易状态机改编自凉鞋2017状态机凉鞋的笔记:liangxiegame.com不罗嗦,直接上代码框架模块系列——简易状态机using System;using System.Collections;using System.Collections.Generic;using UnityEngine;//用户模型public class PlayerModel{ static PlayerModel play原创 2021-06-18 11:33:44 · 236 阅读 · 0 评论 -
用Unity写设计模式-备忘录模式
备忘录模式备忘录模式介绍备忘录模式备忘录模式案例1备忘录模式案例2备忘录模式介绍在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。Memento 纪念品(纪念品)存储Originator对象的内部状态。 纪念品可以根据其发起人的自由裁量权,尽可能多地或尽可能少地存储发起人的内部状态。防止除发起者以外的对象访问。 memento有两个有效的接口。 看管人看到了纪念品的一个狭窄的接口——它只能把纪念品传递给其他物体。 相比之下,原创 2021-06-05 00:07:35 · 301 阅读 · 1 评论 -
用Unity写设计模式-解释器模式
解释器模式解释器模式介绍解释器模式解释器模式案例1解释器模式案例2解释器模式介绍给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。AbstractExpression(表达)声明执行操作的接口TerminalExpression 表达式(ThousandExpression, HundredExpression, TenExpression, OneExpression)实现与语法中的终止符号相关联的“解释”操作。句子中的每个终端符号都原创 2021-06-04 23:58:32 · 310 阅读 · 0 评论 -
用Unity写设计模式-迭代器模式
迭代器模式迭代器模式介绍迭代器模式迭代器模式案例1迭代器模式案例2yield return的用法yield 关键字介绍有这样的一个int类型的集合不使用yield return的实现客户端调用使用yeild return实现客户端调用总结迭代器模式介绍提供一种方法访问一个容器对象中各个元素而又不需暴露该对象的内部细节。参与者参与此模式的类和对象是:Iterator 迭代器(AbstractIterator)定义一个用于访问和遍历元素的接口。ConcreteIterator(原创 2021-06-01 21:52:37 · 446 阅读 · 0 评论 -
用Unity写设计模式-访问者模式
访问者模式访问者模式介绍访问者模式访问者模式案例1访问者模式案例2访问者模式介绍封装一些作用于某种数据结构中的各元素的操作它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。参与者参与此模式的类和对象是:Visitor 访问客(Visitor 访问客)为对象结构中的每个ConcreteElement类声明了一个Visit操作。 操作的名称和签名标识向访问者发送Visit请求的类。 这让访问者可以确定被访问元素的具体类。 然后,访问者可以通过其特定的接口直接访问这些元素原创 2021-06-01 21:40:07 · 348 阅读 · 6 评论 -
用Unity写设计模式-中介者模式
中介者模式中介者模式介绍用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散而且可以独立地改变它们之间的交互。Mediator 中介(IChatroom)定义了一个与同事对象通信的接口ConcreteMediator 具体中介类(聊天室)通过协调同事对象来实现协作行为认识并维护同事Colleague classes 同事类(参与者)每个同事类都知道它的Mediator对象每个同事在本应与另一个同事沟通的时候,都会原创 2021-05-31 23:13:24 · 349 阅读 · 5 评论 -
用Unity写设计模式-责任链模式
责任链模式责任链模式介绍责任链模式责任链模式案例1责任链模式案例2责任链模式介绍使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。参与此模式的类和对象是:Handler 处理器 (Approver 审批人)定义了一个处理请求的接口(可选)实现后续链接ConcreteHandler(主管,副总裁,总裁 Director, VicePresident, President)处理它负责的原创 2021-05-31 22:43:06 · 193 阅读 · 0 评论 -
用Unity写设计模式-状态模式
状态模式状态模式介绍状态模式状态模式案例1状态模式案例2状态模式案例3状态模式介绍当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。状态模式using UnityEngine;using System.Collections;namespace StateStructure{ public class StateStructure : MonoBehaviour { void Start ( ) { //原创 2021-05-31 00:25:33 · 283 阅读 · 0 评论 -
用Unity写设计模式-命令模式
命令模式命令模式介绍命令模式命令模式案例1命令模式案例2命令模式介绍命令模式将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象,同时支持可撤消的操作。命令模式using UnityEngine;using System.Collections;namespace CommandStructure{ public class CommandStructure : MonoBehaviour { void Start ( ) {原创 2021-05-31 00:20:31 · 155 阅读 · 0 评论 -
用Unity写设计模式-策略模式
策略模式策略模式介绍策略模式策略模式案例1策略模式案例2策略模式案例-不良代码演示策略模式案例-正确代码策略模式介绍定义一组算法,将每个算法都封装起来,并且使它们之间可以互换策略模式using UnityEngine;using System.Collections;namespace StrategyStructure{ public class StrategyStructure : MonoBehaviour { void Start ( )原创 2021-05-31 00:08:20 · 236 阅读 · 0 评论 -
用Unity写设计模式-模板方法模式
模板方法模式模板方法模式介绍模板方法模式模板方法模式案例1模板方法模式介绍定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。AbstractClass (DataObject)定义抽象的基本操作,具体的子类定义来实现算法的步骤实现一个定义算法框架的模板方法。 模板方法调用基元操作以及在AbstractClass中定义的操作或其他对象的操作。ConcreteClass (CustomerDataObject)实现基原创 2021-05-30 23:59:14 · 202 阅读 · 0 评论 -
UML图语法和Mermaid语言
UML图语法和Mermaid语言MermaidMermaid 介绍Mermaid的好处Mermaid-天然的 Web 友好特性使用 MermaidMermaid支持UML图的设计简介标记块写法第一个示例句法句法-类句法-定义类句法-定义类的成员句法-定义类的成员1句法-定义类的成员2句法-返回值类型句法-泛型句法-访问类型句法-定义关系关系句法-示例关系句法-标签示例关系句法-箭头朝向关系上的基数/多重性对类进行注释注释交互[csdn的markdown不会生效,需专业软件]交互示例1MermaidMer原创 2021-05-30 00:27:19 · 2109 阅读 · 0 评论 -
用Unity写设计模式-观察者模式
观察者模式介绍定义对象之间的一对多依赖关系,当一个对象改变状态时,它的所有依赖关系都会被自动通知和更新。观察者模式// // (参与者)//-------------------------------- //参与该模式的类和对象是: // // 主题//了解观察者,任何数量的观察者对象都可以观察一个主体 //提供一个连接和分离Observer对象的接口。 // ConcreteSubject//为ConcreteObserver存储感兴趣的状态 //当它的状态改变原创 2021-05-29 00:07:50 · 297 阅读 · 0 评论 -
用Unity写设计模式-装饰器模式
装饰器模式装饰器模式介绍装饰器模式装饰器模式案例1装饰器模式案例2装饰器模式介绍动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。装饰器模式using UnityEngine;using System.Collections;namespace DecoratorStructure{ public class DecoratorStructure : MonoBehaviour { void Start ( ) {原创 2021-05-28 23:58:45 · 422 阅读 · 0 评论 -
用Unity写设计模式-适配器模式
适配器模式介绍将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。Target 目标(ChemicalCompound)定义了Client使用的特定于域的接口。Adapter 适配器(复合)将接口Adaptee适配到Target接口。Adaptee (ChemicalDatabank)定义了一个需要适配的现有接口。Client 客户机(AdapterApp)与符合Target接口的对象协作。适配器模式原创 2021-05-28 23:52:05 · 215 阅读 · 0 评论 -
用Unity写设计模式-享元模式
享元模式享元模式介绍享元模式享元模式案例1享元模式介绍定义使用共享有效地支持大量的细粒度对象。享元模式参与者参与该模式的类和对象是:Flyweight声明一个接口,flyweight可以通过该接口接收并作用于外部状态。ConcreteFlyweight实现Flyweight接口,并为内部状态添加存储(如果有的话)。 ConcreteFlyweight对象必须是可共享的。它存储的任何状态都必须是内在的,也就是说,它必须独立于ConcreteFlyweight原创 2021-05-28 23:38:56 · 388 阅读 · 1 评论 -
用Unity写设计模式-组合模式
组合模式组合模式介绍组合模式组合模式案例1组合模式案例2组合模式介绍定义将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。组合模式Component 组件(DrawingElement)在组合中声明对象的接口。为所有类的公共接口实现默认行为,视情况而定。声明一个用于访问和管理其子组件的接口。(可选)定义了一个接口,用于在递归结构中访问组件的父组件,并在合适的情况下实现它。Leaf 叶(PrimitiveElement)原创 2021-05-28 23:38:07 · 378 阅读 · 0 评论 -
用Unity写设计模式-桥接模式
桥接模式桥接模式介绍桥接模式桥接模式案例1桥接模式案例2桥接模式介绍将抽象和实现解耦,使得两者可以独立地变化。Abstraction 抽象(BusinessObject)定义了抽象的接口。 维护对实现者类型对象的引用。RefinedAbstraction (CustomersBusinessObject)扩展了抽象定义的接口。Implementor 实现者(DataObject)为实现类定义接口。 这个接口不必与抽象的接口完全对应; 事实上,这两个接口可以有很大的不原创 2021-05-27 23:36:04 · 249 阅读 · 0 评论 -
用Unity写设计模式-代理模式
代理模式代理模式介绍代理模式代理模式案例1代理模式介绍为其他对象提供一种代理以控制对这个对象的访问。Proxy 代理 (MathProxy)维护一个引用,让代理访问真正的主题。 如果RealSubject和Subject接口相同,则代理可以引用Subject。提供了一个与Subject相同的接口,因此可以用代理代替真正的Subject。 控制对真实主题的访问,并可能负责创建和删除它。其他责任取决于代理的类型: 远程代理负责编码请求及其参数,并将编码后的请求发送到另一个地址空间的原创 2021-05-27 23:24:38 · 242 阅读 · 0 评论 -
用Unity写设计模式-单例模式
单例模式单例模式介绍单例模式单例模式案例1单例模式案例2单例模式案例3单例模式介绍确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。参数详解Singleton 单例 (LoadBalancer 负载均衡器)定义了一个Instance操作,让客户端访问它的唯一实例。 Instance是一个类操作。*负责创建和维护自己的独特实例。单例模式//----------------------------------------------------------------原创 2021-05-27 22:55:36 · 139 阅读 · 0 评论 -
用Unity写设计模式-建造者模式
工厂模式建造者模式介绍参数详解建造者模式建造者模式案例1建造者模式案例2中括号的用法单独拎出来建造者模式介绍将一个复杂对象的构造与它的表示分离 使同样的构建过程可以创建不同的表示 这样的设计模式被称为建造者模式参数详解参与者:参与此模式的类和对象是:Builder (机动车建造者)指定一个抽象接口,用于创建Product对象的各个部分ConcreteBuilder 具体建设者(摩托车建设者,汽车建设者,踏板车建设者)通过实现Builder接口来构造和组装产品的各个原创 2021-05-27 22:33:56 · 378 阅读 · 0 评论 -
开篇-设计模式
"设计模式"设计模式有两种分类方法根据目的来分创建型模式:结构型模式行为型模式根据作用范围来分类模式:对象模式:设计模式有两种分类方法更多传送门准备中…最近要写框架,回来 - 速览一下设计模式根据目的来分模式用来做什么:创建型模式结构型模式行为型模式创建型模式:用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。GoF 中提供了5 种创建型模式单例 – 传送门原型工厂方法抽象工厂建造者结构型模式用于描述如何将类或对象按某种布局组成更原创 2021-05-17 23:41:15 · 195 阅读 · 0 评论 -
用Unity写设计模式-工厂模式
工厂模式工厂模式介绍参数详解抽象工厂工厂案例1工厂案例2工厂模式介绍定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。参数详解ParticipantsThe classes and objects participating in this pattern are:Product (Page)defines the interface of objects the factory method createsConcretePr原创 2021-05-23 16:51:26 · 191 阅读 · 0 评论 -
用Unity写设计模式-原型模式
原型模式原型模式-介绍原型模式-参数详解Object.MemberwiseClone 方法示例:注解原型模式原型模式-案例1原型模式-案例2原型模式-介绍用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式-参数详解ParticipantsThe classes and objects participating in this pattern are:Prototype (ColorPrototype)declares an interface for c原创 2021-05-23 00:01:16 · 505 阅读 · 1 评论 -
用Unity写设计模式-外观模式
外观模式外观模式-介绍外观模式-参数详解外观模式外观模式-案例1外观模式-案例2外观模式-介绍要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。外观模式提供一个高层次的接口,使得子系统更易于使用。外观模式-参数详解ParticipantsThe classes and objects participating in this pattern are:Facade (MortgageApplication)knows which subsystem cla原创 2021-05-22 23:13:22 · 243 阅读 · 0 评论 -
用Unity写设计模式-抽象工厂模式
抽象工厂模式工厂模式介绍参数详解抽象工厂工厂案例1工厂案例2工厂模式介绍提供一个接口,用于创建相关或者依赖对象的家族,而不需要指定具体的实现类。参数详解ParticipantsThe classes and objects participating in this pattern are:AbstractFactory (ContinentFactory)declares an interface for operations that create abstract pro原创 2021-05-20 07:22:20 · 299 阅读 · 0 评论