摘要: 软件设计模式告诉我们,程序中不同的领域要保持隔离,也就是解耦。所以,我们不希望AI,物理引擎,渲染引擎,声音引擎,还有其他的事情影响到彼此,不能把他们放到同一个类里。下面是一个反例:if (collidingWithFloor() && (getRenderState() != INVISIBLE)){ playSound(HIT_FLOOR);}如果有人要修改这段代码,那么他就需要查看物理,绘图,和声音的代码以保证不会出错。更糟糕的情况是,你可能需要修改其他部分的代码!解决的办法:我们可以吧不同的领域分割城不同的组件,谈后需要的时候持有这些组件的实例,例如InputCompo 阅读全文
posted @ 2013-04-02 11:07 shangdahao 阅读(4438) 评论(0) 推荐(1) 编辑