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

一 面向对象和面向过程

前端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.物理层次架构设计(性能,内存,效率等)

时间: 2024-10-09 08:43:23

为什么前端后端都要学好面向对象编程思想?的相关文章

面向对象编程思想的哲学起源(转载)

http://www.xuebuyuan.com/566309.html 本来想象着写一整篇「面向对象编程思想的哲学起源」这样的题目,笔走纸上,方才发现这样的题目足够出本书,知识不够,写不动.但心里还是想写点自己的所思所想. 全篇就拿JAVA来举例了.众所周知,面向对象的四大基本要素:抽象(Abstract).封装(Encapsulation).继承(Inheritance).多态(Polymorphism). 很多人坚持<逻辑学>是唯物哲学的基础,不懂,姑且不论.哲学就是对自然学科的抽象,看

面向对象编程思想(OOP)

本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞大 很多软件进入维护阶段 需求的不断变更 软件开发中存在很多其他的问题,上面只是从程序开发和设计的角度看到的部分问题.需求解决上面软件开发中的问题,就要求我们编写(设计)的软件具有很好的可读性.可维护性和可扩展性.我们需要保证代码具有高内聚低耦合. 下面将简单介绍面向对象的一些基本特性.设计原则,以

面向对象编程思想(前传)--你必须知道的javascript(转载)

原文地址:http://www.cnblogs.com/zhaopei/p/6623460.html阅读目录 什么是鸭子类型 javascript的面向对象 封装 继承 多态 原型 this指向 call apply band js中的闭包 什么是高阶函数 在写面向对象编程思想-设计模式中的js部分的时候发现很多基础知识不了解的话,是很难真正理解和读懂js面向对象的代码.为此,在这里先快速补上.然后继续我们的面向对象编程思想-设计模式. 什么是鸭子类型 javascript是一门典型的动态类型语

面向对象编程思想 - 月亮晶石的日志 - 网易博客

面向对象是一种新兴的程序设计方法,或者说它是一种新的程序设计范型,其基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计. 它是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统).这可以使系统直接地映射问题域,保

[Javascript] 面向对象编程思想

1.创建对象 1.1 new 用new进行创建对象: var user = new Object(); user.age = 12;//同时为对象添加属性 user.name = 'ajun'; 1.2{} 用{}创建对象,如: var user = { 'name':'ajun, 'age':12 } 这里同时候为user添加了两个属性分别为:name,age 在以上代码稍加改造,你还可以为一个对象添加一个方法,如: var user = { 'name':'ajun', 'age':12 '

第三章面向对象编程思想

""" 编码规范: 类名首字母应以大写字母开头 类的成员/属性: 成员属性 实例化对象的属性: self.name=name 可以被访问,也可以在类的外部被修改 私有属性 实例化对象的私有属性: self.__age=age 属性名前加两下划线 外部无法被访问, 也不能被修改,只能内部访问和修改 想要在外部访问只能自定义一个方法了 强制访问 私有属性: p._People__age 对象名._类名__私有属性 公共属性: 类的属性,也叫静态属性,他是在类的内部定义的 clas

面向对象编程思想(OOP)

本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞大 很多软件进入维护阶段 需求的不断变更 软件开发中存在很多其他的问题,上面只是从程序开发和设计的角度看到的部分问题.需求解决上面软件开发中的问题,就要求我们编写(设计)的软件具有很好的可读性.可维护性和可扩展性.我们需要保证代码具有高内聚低耦合. 下面将简单介绍面向对象的一些基本特性.设计原则,以

面向对象编程思想(OOP)(转发)

本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞大 很多软件进入维护阶段 需求的不断变更 软件开发中存在很多其他的问题,上面只是从程序开发和设计的角度看到的部分问题.需求解决上面软件开发中的问题,就要求我们编写(设计)的软件具有很好的可读性.可维护性和可扩展性.我们需要保证代码具有高内聚低耦合. 下面将简单介绍面向对象的一些基本特性.设计原则,以

面向对象编程思想2s

面向对象编程思想 抽象 封装和数据隐藏 多态 继承 代码的可复用性 面向对象分析 五个层次.五个活动组成 目的 1.获得系统的对象个体.个体内部的状态.个体与个体间的交互 活动 1.建模系统功能 2.发现并且确定业务对象 3.组织对象并确定其关系 抽象 舍弃个别的.非本质的特征,抽取共同的.本质的特征 ss 原文地址:https://www.cnblogs.com/cnblogzaizai/p/12028791.html