在Ruby脚本中组织类

时间:2015-08-21 08:22:12

标签: ruby oop scripting

我正在写一个小游戏。我有:

class MyGame
  ...
  class_methods
  a bit of game logic
end

# after my_game unwrapped code

putss
get.chomps
methods, loops (to be DRY)
interaction with user, returning values

是否有正确的方法将代码包装在一起?在任何类或模块中不在my_game类之后包装代码是正确的,还是应该总是将我的代码放在类/模块中?

1 个答案:

答案 0 :(得分:2)

我会在模块和类中包装功能,因为它有一些好处:

a)您可以轻松地为类中的代码编写测试(对于模块,通过将它们作为mixins包含在类中并测试类) b)你可以控制功能/方法的可见性,你可以实际创建一个界面,以防你有一个游戏消费者需要访问的东西不仅仅是游戏类 c)通过创建游戏部分功能的新实现者,更容易扩展游戏部分的功能

也就是说,只有以面向对象的方式写作才有教条。在某些情况下(可能用于将用作命令行脚本的脚本),只需要一些函数和代码执行这些函数就足够了(特别是如果脚本很简单且通常很短)。

我对你正在建立的小游戏结构的建议是寻找互动,动作"需要发生的事情(即在对象之间发送的消息),然后你会提出发送这些消息(方法)的类,设计和构建游戏将会变得更加容易,我相信。

顺便说一句,一本有助于设计软件方向的好书如下:

http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330

希望以上帮助。