
C#设计模式
Masaka_Yogi
Unity,C#,shader我有兴趣
展开
-
C#设计模式之单例模式
设计模式之单例模式 单例模式: 一句话概括:整个软件或游戏生命周期中,有且只有一个实例. 一个class本身是一个抽象的概念不占用内存,每实例一个新类,会在内存中占用一个内存单位,而单例模式指的是只能有一个实例.如何保证->使用static来让这个类变成静态变量(全局变量) 注:如果类继承了mono.那么可以绑定到场景中的gameobject用instance =this来赋值,但是如果没...原创 2019-03-22 20:51:55 · 121 阅读 · 0 评论 -
C#设计模式之工厂模式
单例模式: 整个生命周期中,有且只有一个实例.一个class本身是一个抽象的概念不占用内存,每实例一个新类,会在内存中占用一个内存单位,而单例模式指的是只能有一个实例.如何保证->使用static来让这个类变成静态变量(全局变量) 注:如果类继承了mono.那么可以绑定到场景中的gameobject用instance =this来赋值,但是如果没有继承,那就可以通过重写get方法获得 工厂模...原创 2019-03-22 22:06:06 · 132 阅读 · 0 评论 -
C#设计模式之观察者模式and代理模式
观察者模式(Observer): 一句话特点:不断地询问 举个栗子:像是时间计时器就符合这个模式,程序在Update中不断地累加计时器,不断询问计时器是否到达了应该调用方法的时间点,如果到了那就归零,并且调用方法,这种不断询问的方法也就是观察者模式Observer; void Update(){ timeCount++; if(timeCount>0.5f) ...原创 2019-03-23 20:37:17 · 227 阅读 · 0 评论 -
C#设计模式之策略者模式
策略者模式: 一句话特点:根据不同的输入得到不同的结果 举个栗子: 需求: 在公司,每个人和公司都需要通过会计交税,但个人与公司交的税又是不同的输入,用代码实现下图 实现: //交税基类 public class AbsBase { public flaot payMoney; public virtual void CaculateTax() { ...原创 2019-03-23 20:59:35 · 263 阅读 · 0 评论 -
C#设计模式之建造者模式
建造者模式: 一句话特点:万丈高楼平地起 举个栗子: 需求: 做出游戏公司的各个职位之间的关系. 画图: 与之类似的还有UIManager,GameManager等等,都是通过底层不断累积产生的,像是造房子,具体代码就不演示了. 注:实现过程就和做游戏一样,先有boss,在去找项目经理,接着主程,主美,主策,再往下… 再注:可供外部调用的只有最顶层,也就是UIManager或是Boss或是…Ma...原创 2019-03-24 14:39:02 · 143 阅读 · 0 评论 -
C#设计模式之中介者模式
中介者模式: 一句话特点:**** 举个栗子: 需求: 阐述房屋中介与房东和租房者的关系 画图: 图中,租房者与房东并没有关联,只是通过中介进行,可以看出有效的降低了耦合比较符合迪米特原则 实现: public class Person { private float money = 10000; public void NeedHouse() { m...原创 2019-03-24 15:10:12 · 147 阅读 · 0 评论 -
C#设计模式之门面模式和组合模式
门面模式: 一句话概括:将 “不同的类型” 的东西"聚合"在一起,形成"特定功能" 举栗子: 把不同的组件组合在一起形成一个功能,比如按一个UIbutton,控制物体的移动(包括动画,物理的rigid,位置的transform),这种设计模式就称为门面模式. 像是那种游戏内的Manager模块都是把不同的组件组合在形成一个新的功能 组合模式: 一句话概括:将"相同"类型的物体"聚合"在一起,形成...原创 2019-03-24 16:27:24 · 338 阅读 · 0 评论 -
C#设计模式之状态者模式(FSM状态机)
状态者模式(FSM有限状态机) 挖坑待填原创 2019-03-24 17:39:25 · 1445 阅读 · 3 评论