
设计模式
独立游戏开发指南
这个作者很懒,什么都没留下…
展开
-
设计模式的六大原则之六(开放封闭原则)
原则6:开放封闭原则核心思想:软件实体应该是可以扩展的;也就是,对扩展开放,对修改封闭;定义一个软件实体如类、模块和函数应该对扩展开放,对修改关闭在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。因此,当软件需要变化时,尽量通过扩展软件实体的行为来实现变...原创 2019-11-27 11:33:35 · 244 阅读 · 0 评论 -
设计模式的六大原则之五(迪米特法则)
原则5:迪米特法则核心思想:一个对象应该对其他对象保持最少的了解(即:只与直接的朋友通信)定义一个对象应该对其他对象保持最少的了解类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。因此,尽量降低类与类之间的耦合。自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚。无论是面向过程编程还是面向对象编程,只有使各个模块之间的耦合尽量...原创 2019-11-27 11:29:23 · 227 阅读 · 0 评论 -
设计模式的六大原则之四(接口隔离原则)
原则4:接口隔离原则核心思想:使用多个小的专门的接口,而不要使用一个大的总接口;定义客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系。也就是采用接口隔离原则。举例来说明接口隔离原则:未遵循接口隔离原则的设计这个图的意思是:类A依赖接口I中的方法1、方法2、方法...原创 2019-11-27 11:16:46 · 197 阅读 · 0 评论 -
设计模式的六大原则之三(依赖倒置原则)
原则3:依赖倒置原则核心思想:依赖于抽象(就是对接口编程,不要对实现编程)定义高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。以抽象为基础搭建起来的架构比以细节为基础搭建起来的架构要稳定的多。抽象指的是接口或者抽象类,细节就是具体的实现类,使用接口或者抽象类的目的是制定好规范和契约,而不去涉及任何具体的操作,把展现细节的任务交给他们的实现...原创 2019-11-27 11:10:22 · 295 阅读 · 0 评论 -
设计模式的六大原则之二(里氏替换原则)
原则2:里氏替换原则核心思想:子类必须能够替换其基类;名字的由来肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。简单来说的话,就是当我们使用继承时,遵循里氏替换原则。定义注:类B继承类A时,除添加新的方法完成新增功外,尽量不要重写父类A的方...原创 2019-11-26 20:02:54 · 241 阅读 · 0 评论 -
设计模式的六大原则之一(单一职责原则)
Unity脚本编程众所周知,unity的编程属于脚本化,脚本没有一个具体的概念跟架构, 导致在项目过程中,经常出现哪里需要实现什么功能,就随便添加脚本,结果,就造成了一片混乱,不好管理。更有甚者,自己的写的代码闲置一段时间后,再去想找某个功能的实现,都要在视图中翻来覆去找半天。哎!请容许我在此感叹一声,这还是你写的东西么?因此,一个好的设计模式是多么的重要啊,如何写脚本架...原创 2019-11-26 18:08:40 · 349 阅读 · 0 评论 -
设计模式之命令模式
命令模式命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。介绍意图:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。主要解决:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比...原创 2019-11-22 14:29:45 · 151 阅读 · 0 评论 -
设计模式之MVC 模式
MVC 模式MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。Model(模型)- 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。 View(视图)- 视图代表模型包含的数据的可视化。 Controller(控制器)- 控制器作用于模型和视图上。它控制数据流向模型...转载 2019-11-21 16:08:07 · 270 阅读 · 1 评论 -
设计模式之代理模式(Proxy mode)
代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。组成:抽象角色:通过接口或抽象类声明真实角色实现的业务方法。 代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。 真实角色:实现抽象角色,定义真实角色所...原创 2019-11-20 18:58:41 · 2185 阅读 · 0 评论 -
设计模式之单例模式
单例类是开发过程中必不可少的东西。介绍完两个常用单例类型后会介绍一个简单却很实用的MonoEvent。关于单例的写法网上有很多,这篇文章主要想介绍的是MonoEvent以及为之后的计时器做准备。1:普通单例最普通的写法,加了个线程锁,通过属性访问,不光是Unity,所有的c#程序都能用。using UnityEngine;/// <summary>//...原创 2019-11-20 17:33:07 · 201 阅读 · 0 评论 -
设计模式之外观(Facade)模式
外观模式外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。介绍意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更...原创 2019-11-20 16:44:14 · 164 阅读 · 0 评论 -
设计模式之工厂模式
简单工厂模式讲工厂,首先得从简单工厂说起。简单工厂模式的目的是用来创建不同类型的对象。需要指出的是它并不是GOF的23种模式之一。结构实现废话少说,直接上代码。public interface IProduct { void DoSth();}public class ProductFirst : IProduct { public virtua...原创 2019-11-19 10:58:10 · 132 阅读 · 0 评论 -
设计模式之观察者模式(Observer模式)
一. 观察者模式简介1. 定义观察者模式:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖它的对象都会得到通知并自动更新。2. 意义此设计模式最重要的作用就是 解耦!将观察者与被观察者解耦,使得他们之间的依赖性更小。3.UML图Subject:就是“被观察”的角色,它将所有观察者对象的引用保存在一个集合中。 Observer:是抽象的“观察”角色,...原创 2019-11-18 18:13:26 · 209 阅读 · 0 评论