首页 > 代码库 > 为什么前端后端都要学好面向对象编程思想?

为什么前端后端都要学好面向对象编程思想?

一 面向对象和面向过程

    前端js编程和及后端php编程,大体上有“面向过程”和“面向对象”两种开发思路。

    简单业务需求使用“面向过程”思路倒是不错,简单快捷。然而随着业务逻辑增加,功能扩展及维护,慢慢会发现,之前的面向过程开发思路,渐渐不好使了。曾经遇到一个项目,多城市选择,既可以选择省,也可以选择市,但最多只能为3个,且不能重复。当时js用的就是面向过程方式写的,外加封装几个函数。但越往后,越发现,这种代码思路,后期维护,功能扩展,简直就是大坑。比如客户之前已经多城市选择,如何编辑;假如一个页面多个地方都要用到多城市选择;假如手机端,pc端都要用到多城市选择;假如现在不再是三个,而是不限制个数,又该怎么做……后来再改起来,真是一句话”那滋味,那酸爽,谁用谁知道“……

    总结起来就是,面向过程思路编程,不容易形成系统或架构,后期维护功能扩展成本较大,特别是解决代码重用以及“耦合”问题上,面向过程有些乏力。这些问题都可以通过面向对象编程解决,类,对象,继承,多态……个人感觉,php高阶阶段就是架构能力,架构离不开设计模式,设计模式正需要面向对象思想。我想java语言之所以常年位居前世界最流行语言榜,跟它本身一上来就是面向对象思想密不可分。而且一般情况下,功能复杂的js插件,库,往往跟面向对象思想密不可分。

        所以,前后端编程都有必要深入研究面向对象思想。

二 php基于面向对象学习提升

    《深入php面向对象模式与实践》一书中推荐php程序员学习路线是:

     1.php入门基础(语法,常用函数和扩展);

     2.面向对象的php

     3.网站软件架构设计(设计模式/框架等)

     4.网站物理层次架构设计(分布式计算,存储,负载均衡,高可用性等)

     备注:实际中这些阶段和工作是交织在一起的。

三 引申js面向对象提升

     由上面扩展,个人感觉js提升路线大体为:

     1.js基础(语法,常用函数,包括jquery常用语法,基础)

     2.js面向对象(深入理解js对象继承等概念,封装库,插件)

     3.js设计模式(大型复杂应用,框架)

     4.物理层次架构设计(性能,内存,效率等)

    

    

    

    

    

    

    

为什么前端后端都要学好面向对象编程思想?