![]() |
1
1
我会给我两分钱的。从您描述的问题来看,在我看来,您需要一个抽象类来执行所有类中常见的操作(如
这个抽象类应该是所有接口的核心(幸运的是,你在C++中,在类、抽象类和接口之间没有物理差异)。因此,视图将了解特定的接口,并且仍然具有通用的实体方法。 我设计的经验法则——如果多个类具有相同的数据成员或方法,那么它可能是它们继承的单个类。 无论如何,暴露模型类的内部结构不是一个好主意。说你想用别的东西代替Boost?你必须重写整个程序,而不仅仅是相关部分。 |
![]() |
2
1
MVC 对游戏来说并不容易,因为当游戏变得更大(包括菜单、敌人、关卡、图形用户界面…)和转换时,游戏就会中断。 组件或 实体系统 很适合玩游戏。 作为一个简单的例子,您可以考虑使用 高分子量聚乙烯 . 转换仍然有问题,但至少您的代码将以更干净的方式组合在一起。您可能希望您的坦克的代码(渲染和逻辑)紧密结合在一起。 |
![]() |
3
1
已经有专门为基于代理的系统设计的表示体系结构,例如表示抽象控制。在设计这样一个系统时,最困难的部分就是你最终会在代理之间形成一系列的硬连接。 您可以这样做,但不要使用OO继承来建模消息传递层次结构。你会后悔的。如果您考虑一下,您真的对使用OO继承关系不感兴趣,因为定义的接口实际上只是对象可以响应的“函数记录”。在这种情况下,您最好对通信协议进行正式建模。 如果你有问题,请提问——这不是一个显而易见的解决方案,很容易出错。 |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |