加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
问题0:
为什么不是在Cell提供setAlive(boolean)函数?而是采用复杂的die()、reborn()两个函数?

因为这里有两个作用,一个是标记cell的die,一个是标记cell的reborn,采用复杂的die()、reborn()两个函数,方便后续分别扩展,符合聚合理论:一个代码单元应该负责一个聚合的任务。



问题1:
为什么Field.getNeighbour()不直接看Cell.isAlive()来返回一个数字,而是要返回一个数组让外面来数数?

目的是将数据和操作分离,减少硬编码,降低耦合度,方便具体实现的更改和程序的扩展。


问题2:
为什么不是由Cell自己判断自己的邻居的情况来决定自己是否应该被die或reborn?

这样会使代码耦合性高,应使实现采用数据和表现分离,方便代码抽象和提升扩展性。

空文件

简介

中国大学mooc翁凯Java细胞自动机 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化