一、面向对象vs面向过程
二者的理解
面向对象即对象,现实中无论是抽象或具体的事物,都可以表示为大大小小的对象,当然一个对象也可以分解为多个对象,面向对象的思维即是将事物对象化,在实现一个业务时,首先将业务中的各个要素对象化,然后将这些对象组织起来,即可实现相应的业务。
而面向过程则简单直接,将业务分为多个步骤来一步步实现,从某种意义上讲,面向过程包含于面向对象的某个过程中。
举个例子,如果要实现一个计算器,面向过程的思想是直接按步骤去实现计算逻辑:判断输入格式,解析输入中的语法,计算输入内容,然后输出给用户;而面向过程的思想来实现的话会抽象出对个对象,如数值对象,运算符对象,运算符解析对象,计算对象,输出对象。。。将这一系列的对象组装起来便可实现计算器的功能。
优缺点比较
面向对象和面向过程的思想没有绝对的好坏之分,不同的思想应用于不同的场景
面向过程
优点:
在实现过程中不与要考虑与其他业务的耦合性,只着重于实现当前业务即可,实现步骤明确,要达到的效果和要获得的结果比较清楚,如果业务步骤明确,维护起来也比较方便。由于业务逻辑流程化,有利于开发出高效率的程序。
缺点:
代码可重用性低,不适合比较复杂的业务逻辑,否则维护成本会很大,生产过程中只适合简单的业务逻辑实现。
面向对象
优点:
代码结构清晰,各司其职,代码复用率高,可维护性强。
缺点:
实现之前需要慎重设计,需要将抽象的业务具体化,由于划分了不同的模块,所以系统开销大,而且不易于调优。
jre,jdk,jvm的区别或联系
持续更新中