nodejs后端需要面向对象吗?

闪电
闪电
闪电
55
文章
0
评论
2020年4月26日19:38:34 评论 41

一:面向对象的背景

面向对象编程,主要在.NET , JAVA等强类型用得比较多,主要核心思想是

  • 抽象
  • 封装
  • 继承
  • 多态

如果使用面向对象编程,主要解决是解决什么问题?

  • 把业务抽象化,变成一个个对象,对象之间有各种继承,达到最大限度的灵活、复用的效果
  • 将各种逻辑进行封装
  • 利用设计模式,把更复杂的问题进行有效处理,例如一个用适配者模式让系统更容易扩展,融合其他系统等。
  • 等等

这种编程方式在非分布式的系统中优点突出,可以减轻系统的复杂性,让程序可扩展,但副作用就是增加了程序的复杂度

二:nodejs后端背景

nodejs以js为语言编写后端程序,可以用来写服务、接口等,更适合进行分布式,微服务的节点开发,所以需要有以下特点:

  • 灵活

使用express、koa等框架,可使用中间件、路由等进行轻便、快速的开发业务功能,对外部提供简单、高效、高可用的服务节点

三:nodejs需要面向对象?

写后端一般都是操作数据库,给移动端、pc端、客户端等提供统一规范的接口服务,所以一定要灵活,方便切入各种功能,方便修改和维护,js的函数式编程正符合这些要求

js中原生支持class,但是支持程度有限。

总结:

不推荐完全使用面向对象进行nodejs后端开发,不利于扩展和维护,不够轻便。如需考虑js的灵活性在团队合作中出现混乱等问题,推荐使用ts补全。
在必要的时候,例如可能要大量创建对象,需要用工厂模式方便处理、提高性能的话,是可以考虑切入面向对象思维

  • 充分利用js的灵活性,爽一番
  • 在适当地方,利用面向对象的优势
  • 用ts补全js的缺点进行团队合作
weinxin
我的微信
微信扫一扫
闪电
  • 本文由 发表于 2020年4月26日19:38:34
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
30行代码造了一个1494start项目的轮子 Nodejs

30行代码造了一个1494start项目的轮子

1494个start的项目:minimist 30行代码轮子:argps 项目功能: 解析命令行启动用户所输入的参数,转成Object。 需要支持多个命令、重复参数合并到数组、监测无名字参数合并到_中...
一键部署项目和代码自动更新 Nodejs

一键部署项目和代码自动更新

my-deploy : 由nodejs写的一个自动更新工具,理论支持所有语言(php、java、c#)的项目,支持所有git仓库(bitbucket、github等)。 github 效果如何? 如果...
Node.js自动代码审核 Nodejs

Node.js自动代码审核

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. 简介 在团队开发中,无论是写前端(js,css,htm...
利用Mongodb做地理空间查询 数据库

利用Mongodb做地理空间查询

MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 前言 在移动开发中,经常会用到定位的功能,例如美团、饿了么、猫眼电影等的app...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: