
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在上文中给大家简单介绍了Java编程开发程序员需要掌握的关于面向对象编程开发的一些基础知识等内容,而本文我们就通过案例分析来了解一下 ,面向对象编程都有哪些注意事项。
面对对象的过度崇拜
面向对象已经火了很多个年头,并作为编程教学内容、面试与工作的必考知识而广为流传。但作为一名程序猿,总发现身边或网上存在对面对对象的过度崇拜、对设计模式的过度崇拜,一言不合,就各种方法、模式往上堆,甚至过度设计而不知。
面对对象固然是一个解决现实中问题的一个普适性良好的编程范式与思想,但绝非任何情形都是好的选择,而连编程范式或思想都不算、只适用于一些特定场合的设计模式就更是这样了。
在面向“变化”编程章节所讲的快餐店的例子,变化的部分是食物的种类与制作,也可以说是菜单。那么,不说更复杂的情况,完全可以通过一个配置文件去实现菜单的描述,通过一个菜单类去封装对配置文件的读取与解析,拓展性与灵活性远高于面向对象去封装的同时,代码也更加简洁清晰。(当然,这里我不是在自黑上面所讲的面向对象的例子,就像例子中的注释所写,其中省略了很多涉及多个对象的复杂操作步骤。随着复杂度的增加,就去权衡这种面向数据的编程方式和面向对象的利弊了)
当然,有人“夸”面对对象,自然有人黑面向对象,把它说的好像一无是处。我的观点,是不信谣,不传谣。同时,我对面向对象的思想十分认可,认为这是对实际生活非常好的描述方式。
在快餐店的“面向数据”实现方式中可以看到,此处主要用了一个文件表格去封装食物变化的差异。但眼尖的同学可能已经看到,这里是用类去封装配置文件的读取与解析的。
在前面讲过,一个类,就对应一个变化。那这里封装的是什么变化呢?是对不同配置文件的解析方式。由此看出,面对对象可以广泛的出现在编程的各种场合,而在很多时候,面对对象是好的解决方案的一部分,但也只是一部分。
想要设计出好的解决方案,就要学会设计本身,而不能局限于任何一个编程范式中,什么面向过程、面向对象、函数式编程、响应式编程等等,都平等对待,按需使用。而好的设计核心、也是主要的,就是面向“变化”编程。而想要找到“变化”,就要回到具体的需求中去寻找答案。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。