面向过程”(Procedure Oriented)是一种以过程为中心的编程思想,简称OP。“面向过程”就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。所以面向过程的编程方式关注点不在“事物”上,而是做这件事分几步,先做什么,后做什么。例如:早晨起来:起床→穿衣→洗漱→吃早饭→上学/上班,只要按照这个步骤来,就能实现“早晨”的功能,在整个过程中关注的是一步一步怎么做,并没有关注“人”这个对象。假如赖床了,后面所有的过程都无法执行。因此采用面向过程的方式开发会具有高耦合度低扩展力的特点,一步依赖另一步,任何一步都不能变化,变化其中一步则整个软件都会受到影响。
“面向对象”(Object Oriented)是一种以对象为中心的编程思想,简称OO。随着计算机技术的不断提高,计算机被用于解决越来越复杂的问题。一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象。通过面向对象的方法,更利于用人理解的方式对复杂系统进行分析、设计与编程。同时,面向对象能有效提高编程的效率,通过封装技术,可以像搭积木的一样快速开发出一个全新的系统。面向对象将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。例如:一个抽烟的人(对象)+香烟(对象)+打火机(对象)+抽烟的场所(对象),将以上4个对象组合在一起,就实现了抽烟场景,其中采用面向对象的方式开发具低耦合度高扩展力,抽烟的人、香烟、打火机、抽烟的场所都是可以改变的。
高耦合度导致扩展力低,例如集成显卡。
低耦合度导致扩展力高,例如独立显卡。
区别是独立显卡可以升级,就是说买的独立显卡用着用着感觉跟不上主流的游戏了,可以再去买一块更高端的换上,而集成显卡则无法升级,当感觉玩游戏很卡的时候,也没办法去更换集成显卡。