我们已经实现的设计与其原始版本比较已经有了很大的改进,然而还可以有进一步的提高。
优秀的软件设计者的一个是素质就是有可预见性。什么是可能会改变的?什么是可以假设在
软件的生命期内不会改变的?
在游戏的很多类中,硬编码进去的一个假设是,这个游戏会是一个基于字符界面的游戏,
通过终端进行输入输出,会永远是这样子吗?以后如果给这个游戏加上图形用户界面,加上菜单、
按钮和图像,也是很有意思的一个种拓展。如果这样的话,就不必再终端上打印输出任何文字信息。
还是可能保留着命令字,还是会在玩家输入帮助命令的时候显示命令字帮助文本,但是可能是显示
在窗口的文字域中,而不是使用System.out.println?
可拓展性的意思就是代码的某些部分不需要经过修改就能适应将来可能的变化。