C#培训2019-10-18第四课 方块移动总结

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_41617697/article/details/102648734

1、需要对某个“对象”进行修改时,不要把它整个“人”都丢进去,如果整个人都丢进去了,就丧失了对这个“对象”的控制权。

解决:

①可以将对象的某些属性丢进去,然后返回出来。
②若实在需要将整个对象丢进去,则应该一开始就丢进去,后面就再也没有对这个对象的操作,所有操作都交给丢过去的那个方法/类。

2、符合规格:例如亮灯与否,是取决于往哪个方向移动,并不是按下哪个键(虽然最后结果一样)。但是如果以后改规格了,各个方向的移动速度不同,就会出问题。

3、考虑扩充性:eg:多个方块;不同移动速度;亮灯颜色

4、抽出逻辑:eg:移动多少;是否亮灯;亮灯操作

5、抽出逻辑的目的主要是:

①不把控制的“对象”直接丢进去,也就是不交出控制权;
②将逻辑抽出成方法后,该方法的重复利用性就变强了。这样的话出了逻辑问题(比如灯的颜色变化):找方法;出了对象控制问题(灯的是否打开):找控制灯的“对象”。

6、不要轻易将属性/方法做成静态。但是就此题来说,“MoveObject”类的边界条件属性,作为静态的话是合适的。因为不管New了多少个对象,边界都是同一个,当边界改变时,也是改变所有对象的边界属性。

猜你喜欢

转载自blog.csdn.net/qq_41617697/article/details/102648734
今日推荐