- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在用 C++ 开发一个小型 2D 游戏引擎,但我现在面临着一个守护进程 - 我不擅长设计一个真正有效的“类系统”。我的脑海里有一道障碍,让我看不到哪里应该使用类(class),哪里不应该使用类(class)。我正在阅读一篇关于引擎设计的文章,它的目的是使用“State”类来管理不同游戏条目的状态(我使用的是 int)。它还建议游戏的所有对象(不是 io/视频/声音等)都派生自 Renderable 或 NonRenderable 类。这很聪明。我已经知道这是一种聪明的方法 - 我的意思是,Java 中的每个对象都是基类 Object 对吧?聪明,我知道!我怎么没那么做呢?我需要读什么才能真正进入这种心态?
另一个例子。我正在参加 Ruby 暑期类(class)(非常简单),我们应该设计一个露营地。简单的!因此,露营是一系列“地 block ”的集合,每个地 block 都有一个电量计来测量客人消耗了多少电量。我的设计是三个类,其中一个用于露营 - 依次使用 Guest 和 Plot 类的数组。我的老师建议我多上课。 WTF(!)是我的第一个想法,在哪里,什么类(class)?在我看来,一切都是一个类 - 直到我意识到,也许仪表应该是一个类?现在,仪表是 Plot 类中的一个 Integer。
我想学习如何针对我的问题提出面向对象的解决方案 - 不仅仅是如何将最明显的东西放入类中!
提示/书籍/文章/博客?
我已经获得计算机科学大学学位两年了,并且多年来一直将编程作为一种爱好!我“只是”陷入困境 - 它阻止我创建任何更大的软件!
最佳答案
我的个人经验是使用 Object Oriented Software Construction, 2nd Edition 学习面向对象的软件构建作者:伯特兰·迈耶。
这本书对我来说是无价的,并且仍然是我从中学到最多有关 OO 编程和一般软件构造的书。
以下是它的一些优点:
在这些部分之后,出现了更高级的主题,例如并发 (30) 或数据库 (31)。
由于本书使用 Eiffel语言(由作者设计),这会让你处于正确的心态并教你思考。很容易将这些想法应用到其他或多或少的面向对象的编程语言中。
关于oop - 学习面向对象的思维,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1157847/
我是 hadoop mapreduce 框架领域的新手。自己看了很多教程,了解了框架。我已经在伪分布式模式下成功配置了一个 hadoop 设置。我有两个特定任务需要在 Hadoop MapReduce
我在我的Rails应用程序中实现了 sphinx 搜索。 我想模糊搜索。它应该搜索拼写错误,例如,如果输入搜索查询charact * a * ristics,则应该搜索charact * e * ri
我正在和会思考的 sphinx 一起工作 define_index do indexes to indexes created_on has c
我正在尝试在我的 Rails 3 应用程序中设置 Thinking sphinx。我设置了mysql并安装了sphinx没有错误。在我的 gemfile 中有 gem "riddle", "~> 1.
我有一个带有 ui-bootstrap 日期选择器的表单。我想防止日期成为过去。 我将指令的 min-date 设置为 new Date()如下所示。这可以正确地防止在使用弹出窗口时选择过去的日期,但
我对 Sphinx 还很陌生。 尝试查找名称为“bob”且 company_id 为“14”的用户。 Controller: @users = User.search 'bob', :conditio
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我是一名优秀的程序员,十分优秀!