面向对象,更适合JavaScript

面向对象程序设计是软件开发中一个很庞大很复杂的话题,它并不是仅仅学会类、继承、封装、多态这些面向对象编程语法元素就表示掌握的,这些语法元素只是实现面向对象程序的工具, 就像砖块、水泥能搭建小屋,也能造高楼大厦,然而在这里重要的不是砖块水泥,而是其它因素。所以,利用面向对象技术写程序,语法元素不是关键,关键在于组织这些语法元素的方法和技巧。

这些方法和技巧,比如说那威名远播的23个面向对象设计模式,各种面向对象设计原则,如面向接口编程、封装变化、高内聚、低耦合等等,都有很多相关书籍介绍。

众所周知,使用面向对象技术的目的是为了写好代码,使代码易读、易维护、足够灵活。

然而,使用Java、C#之类的血统纯正的面向对象程序设计语言却非常难以实践面向对象的方法与技巧, 即使代码中随处可见类、封装、继承、多态,代码质量还是非常差,有面向对象之形,无面向对象之实。

这之中的原因在于,通常使用Java、C#语言写的代码逻辑非常简单,这两门语言在web领域使用居多,而web领域的程序多数逻辑只是对数据库的增删查改,这些逻辑根本没有面向对象技巧大显身手的余地,俗话说,实践出真知,既然没有办法实践,自然也没有办法很好的掌握, 试问一下,有谁做个网站能用到复杂的设计模式的,如果真有,大多数情况下也是强行使用。 因此,如果想通过写普通的Java网站,学好面向对象技术,很难, 事倍功半。

然而, 在网站的另一端,面向对象技术却能大显神通,那就前端JavaScript领域。理论上讲,JavaScript都不能算面向对象程序设计语言,它没有真正的类,也没有继承,要实现这些特性必须通过另类的模拟。不过这并没有问题,事实上面向对象的精髓并不是class、extends这些关键字,而是使用这些关键字的方法,只要功力深厚,一草一木皆为武器;只要掌握方法,即使没有这些关键字,通过模拟这些关键字也能写出像样的面向对象程序。

为什么面向对象设计应用,在纯正的面向对象设计语言中,还不如山寨的JavaScript? 这是因为前端JavaScript程序的逻辑足够复杂,当然,我说的JavaScript程序不是在网页上弹出一个对话框、让网页中某张图片在隐藏和显示之间切换,我说的JavaScript程序是指那些复杂的特效,一个独立的特效代码都在千行以上的那种,比如说功能完善的日历控件,支持拖拽节点以及动态加载数据的导航树形菜单、富文本编辑器、各种具有可玩性的JS小游戏等等, 这类特效都有大量的代码,且逻辑复杂, 写这些程序时,如果只是简单粗暴的代码堆砌, 那极有可能无法最终完成任务,即使完成也毫无维护性可言,这种情况下就强烈需要面向对象这样的技术来简化代码的复杂性,这也是为什么面向对象程序设计技巧与方法在前端JavaScript能很好实践的原因。

总而言之,如果你是一个后端程序员,想提高自己编写高质量代码, 然而却苦于没办法实践书上所学的面向对象技术,那么不妨去写写JavaScript, 当你面对的不是数据库的增删查改,而是合理的组织巨量DOM元素,使之达到你想要的效果, 那么,面向对象不可或缺, 你不用不行,而不是你想用却没有场景可以使用。使用JavaScript,会让你更有写程序的感觉,因为你不再是数据的搬运工。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/590462

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。