《面向对象程序先导》总结
架构设计

上图仅列举部分层次具体的Bottle和Equipment类未列出
- 第一次架构调整:引入了父类和接口,实现继承
- 第二次架构调整:新增了Op指令类。因为再写下去会导致MainClass过长。另外,感觉Op指令类对后面的Lexer类的引入也奠定了好的基础。
- 第三次架构调整:引入Factory工厂模式。以前是先统一创建父类,然后再父类方法中判断type类型,然后进行类型转换,导致Bottle父类结构冗余。
以上仅列举几次比较大的架构调整
使用JUnit的心得体会
- 引入新的类或者模式之后要重新运行所有的测试,比如雇佣关系之后很多assertEquals难免事与愿违。
- 感觉可以把输入的指令放到Op指令类里面进行拆分,这样的调用时操作者需要输入的字符串就会比较易操作。
否则就会像我这样每次都要构造一个新的字符串

详见第一行和第六行
- 不要忘记分支的覆盖率
学习OOPre的心得体会
- 对于代码的编写,更加注重对于空指针的考虑。毕竟因为不考虑会报错()。「最常见的就是容器中get的使用」
- 一开始的时候还想把所有的代码尽可能堆到一块去,强制自己面向对象之后就“真香”了。因为DeBug变得更加舒适了。
- 个人喜欢从上向下考虑问题,虽然开始写的时候代码会爆红(因为还没有在下层创建想应的方法),但是感觉从下向上的话会有很多“事与愿违”。
- 还是希望自己可以更加熟练的使用抽象工厂模式吧,感觉在代码的可扩展性方面还需要再接再励。
对OOPre课程的简单建议
希望以后PPT再讲解一个新的概念的时候可以让代码先入为主感觉有些概念一上来就讲的话对于新手小白来说有一点点抽象。