关于题型重构

该设计方式并不是有多好,只是能解决一些我想解决的问题,还有待继续完善,欢迎大家提意见帮助完善。

以下主要内容主要阐述这么设计的目的。

以ActPT2PTMatching为例。

目标

1,代码按课堂分离。

把各个课堂的差异代码隔离,防止互相影响,某个课堂中只有该课堂需要代码即该课堂独有的和公共部分代码,不会有其它课堂独有的代码。

2,逻辑和ui分离。

3,跨游戏引擎。

如果要换一个游戏引擎,只需要替换ui层的实现。

目录结构

1,base目录。

里面包含UIActSubjectAA基础ui类、ActSubjectLogicBase、ActSubjectProxyBase、ActSubjectModelBase、ActSubjectViewBase、ActSubject等基础类。

2,class-factory目录。

里面包含抽象工厂和工厂工具。ActSubjectFactoryBase为抽象工厂基类,ActSubjectFactoryXX为对应课堂的具体类工厂,ActSubjectFactoryTool为抽象工厂工具。

3,class-type-xx目录。

比如class-type-ai、class-type-xclass,分别对应aiclass和xclass相应的内容。里面是有课堂对应的ActSubjectLogicXX、ActSubjectProxyXX、ActSubjectModelXX、ActSubjectViewXX类。

极少数情况会包含相应的UIActSubjectAAXX类,正常情况下不会有,只有在该课堂下基础的UIActSubjectAA无法满足,才会从UIActSubjectAA类派生出UIActSubjectAAXX类,或者完全新建UIActSubjectAAXX类。

不想使用这套设计的方法

在新增课堂类型的适配,而某些同学不想使用这套设计,只想基于原来的实现,或者想使用另外的设计,方法如下:

1,当前课堂对应的抽象工厂ActSubjectFactoryXX是必须要新增的。ActSubjectFactoryTool中的初始化方法中也必须修改,当前课堂时要使用当前课堂抽象工厂。

2,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值