最近开始学习设计模式,要想快速理解并掌握设计模式画UML图不失为一种行之有效的方法。以下是我所记的笔记。最后为原文链接.我画UML图所用的软件是一个在线软件点击打开链接。当然他也有离线版本,搜搜就能下到。
*************************************************************************************************************************
һ.分为三层 第一层为类的名称,如果是抽象类,则用斜体表示。
当然这里我也用斜体表示虚方法。
****************************************************************************************************
二.接口:与类图的区别主要是顶端的<<interface>>显示。第一行是接口名称,第二行是接口方法。
Resouce上直接加载,有的是在AssetBundle上加载,有些是在其他位置加载。有些在本地,有些在网络上。
如果把他们全写在一起,不符合设计模式中的开闭原则。也就是对修改关闭,对扩展开放。
我们用对应的加载方法类实现这个接口,本地加载写一个类,网络加载写一个类,如果有新需求要在AssetBundle包上加载
那我们只要新建一个实现该接口的类AssetBundleFactory就行。使用的时候:
AssetBundleFactory()就可以了,改成其他实现只要把后面的new实现改一下就ok,方便维护
也不用动以前已经跑过没有bug的代码,非常方便。
*******************************************************************************************************************
三.继承:继承关系用空心三角形+实现来表示。
这里战士状态的切换使用的是有限状态机,有限状态机是状态模式的一种,使用非常普遍。我在后续的博客中也会重点
介绍,因为他真的非常好用,不仅用在角色状态切换,还可以用在 UI框架上。
也就是说如果一个对象有明显的状态特征,而状态要经常切换,有限状态机是非常好用的设计模式。
****************************************************************************************************************************
四.实现接口:用空心三角形+虚线表示。
资源总共分两类,一类是预设GameObject,一类是资源Object,根据类别提取出来两个私有方法。
*******************************************************************************************************************