代码拉取完成,页面将自动刷新
问题0: 为什么不是在Cell提供setAlive(boolean)函数?而是采用复杂的die()、reborn()两个函数? 因为这里有两个作用,一个是标记cell的die,一个是标记cell的reborn,采用复杂的die()、reborn()两个函数,方便后续分别扩展,符合聚合理论:一个代码单元应该负责一个聚合的任务。 问题1: 为什么Field.getNeighbour()不直接看Cell.isAlive()来返回一个数字,而是要返回一个数组让外面来数数? 目的是将数据和操作分离,减少硬编码,降低耦合度,方便具体实现的更改和程序的扩展。 问题2: 为什么不是由Cell自己判断自己的邻居的情况来决定自己是否应该被die或reborn? 这样会使代码耦合性高,应使实现采用数据和表现分离,方便代码抽象和提升扩展性。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。