工程uml图
总结
在这个课程中,通过一个红警类游戏,向我们介绍了相关设计模式和基本要点.总的来说蛮不错,因为是讲设计模式,有些不影响讲课的小bug老师并没有去修改,
七大设计原则
单一职责:一个对象应该只包含单一的职责,并且该职责被完整的封装在了 一个类中
就一个类而言,应当只有一个引起他变化的原因
开闭原则:对扩展开放,对修改关闭
里氏替换原则:使用父类的地方可以等价的替换成子类
依赖倒置原则:高层模块不应该依赖底层模块,他们都应该依赖抽象,抽象不应该依赖细节,细节应该依赖于细节,针对接口编程,不要针对实现编程
接口隔离原则:客户端不应该依赖那些他不需要的接口
一个接口过大就应该把他分割为更小的接口,使用该接口的客户端仅需知道与之相关的方法即可.
迪米特法则:每一个软件单位对其它的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位
合成复用:尽量使用对象组合,而不是继承达到复用的目的
设计模式
单例模式
保证一个类仅有一个实例,并提供一个访问它的全局访问点。分为饿汉模式和懒汉模式,在unity中一般采用饿汉模式
1.隐藏构造器,防止new
2.创建静态变量instance ,并在awake中赋值,所有其它类不能在awake中访问单例放在start之后
在我初学unity时,就非常喜欢使用单例模式,但后来我发现有些类单例是没有必要的,因为没有被很多外部类访问,可能仅仅只有几个经常访问。
中介者模式
用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互
这个模式是用来解耦,假设一个游戏中存在若干的系统,他们彼此之间互相调用,就会产生大量耦合,而且可能会存在大量单例,逻辑也会比较松散,我们可以采用一个额外的类来中转,每一个类只需要和这个额外的类交互,而这个类在去转发至处理类,解耦。他们只需要持有这个额外的类的引用,而不是持有其它所有的引用,可以干掉一些单例模式。