【发布时间】:2008-10-19 07:46:44
【问题描述】:
您在哪里划定界限以停止进行抽象并开始编写理智的代码?有大量“企业代码”示例,例如十几个文件的“FizzBuzz”程序……即使是诸如 RTS 游戏之类的简单程序也可能具有以下内容:
class Player {} ;/// contains Weapons
class Weapons{} ;/// contains BulletTypes
class BulletType{} ;///contains descriptions of Bullets
class Bullet{} ;///extends PlaceableObject and RenderableObject which can be placed/drawn respectively
class PlaceableObject{} ;///has x,y,z, coords
class RenderableObject{} ;///an object with a draw() command
class MovingObject{}; ///an object with a move() function
等等......它可能会变成一场噩梦。这可以被拉到它的逻辑极端,就像函数式编程可以被拉到一个极端,你可以创建一种只有变量、函数应用程序和匿名函数定义的语言(尽管我必须承认这稍微更优雅)......
关于这个话题有什么明智的建议吗?
【问题讨论】:
标签: language-agnostic oop