记录一种代码设计规范
看源码的时候看到一种写法,FSM继承了IFsm和FsmBase,而使用的时候有的地方用接口,有的地方用抽象类:



有点疑惑,为啥不把IFsm和FsmBase合成一个类,后来看到了一种代码规范:

传参数的时候用IFsm,返回值用FsmBase。
而且这种写法还有一个好处,使用列表的时候可以直接FSMBase[],来存各种不同的状态机,但是需要强类型引用(确定泛型类型)的时候又可以使用IFSM<...>。



有点疑惑,为啥不把IFsm和FsmBase合成一个类,后来看到了一种代码规范:

传参数的时候用IFsm,返回值用FsmBase。
而且这种写法还有一个好处,使用列表的时候可以直接FSMBase[],来存各种不同的状态机,但是需要强类型引用(确定泛型类型)的时候又可以使用IFSM<...>。