search
HomeWeb Front-endFront-end Q&AWhat are the layers of node's architecture?

The architecture of node is divided into three layers: 1. Display layer, responsible for processing display; 2. Business logic layer, responsible for processing data from the display layer, or obtaining data from the server for processing and returning to the display layer. ;3. Data access layer, responsible for calling data from the database.

What are the layers of node's architecture?

The operating environment of this article: Windows 10 system, nodejs version 12.19.0, Dell G3 computer.

What are the layers of node architecture?

The three-tier architecture literally means that there are three different layers of structures, and each layer is responsible for different data or processes different data. The three-tier architecture is to conform to the idea of ​​"high cohesion, low coupling". Someone asked what is high cohesion and what is low coupling

High cohesion

The stronger the correlation among the elements within the module, the higher the cohesion and the stronger the unitarity of the module. A module should complete a certain function independently as much as possible. If it is a low-cohesion code module, it will be very troublesome to maintain

Low coupling

There are dependencies between modules. As a result, changes may affect each other. The closer the relationship, the stronger the coupling, and the worse the module independence.

What are the three layers?

The three layers are the presentation layer (display layer), business logic layer (data layer), and data access layer (persistence layer)

Presentation layer (display layer)

As the name suggests, it is the layer that is only responsible for processing the display. In nodejs, it is mainly responsible for receiving the data passed to the server from the page and processing the data. Return

Business logic layer (data layer)

The layer mainly responsible for processing data, which is to process the data of the display layer, or obtain the data of the server for processing Then return to the display layer

Data access layer (persistence layer)

The layer mainly responsible for calling from the database. This layer is to operate the database such as: obtaining data, Editing data, adding data, and deleting data are all processed in this layer

Three-tier architecture in nodejs

If you want to separate the front-end and back-end development, then A three-tier architecture must be used. For front-end engineers, they do not know much about the backend technology. It is better to use nodejs, which is familiar to front-end engineers, for development.

In nodejs we will refer to express. Configuring the background, the above only shows the three-tier architecture, which is probably not the specific files of the project

Our overall folder is divided into above. dao, rotates, service, this is our three-tier architecture

dao-data layer

The db.js in the folder allows us to connect to the server

The model specifically accesses the server for operations

And xxxDao.js calls methods in the model layer to perform specific operations

Our data layer is processed After the data, the dao layer will return the obtained data or results to the service layer

service-data processing layer

service will perform further processing and then process the processed data The data is returned to the router

ui layer (router)

ul layer renders the data to the page html

Recommended learning: " nodejs video tutorial

The above is the detailed content of What are the layers of node's architecture?. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
CSS: Can I use multiple IDs in the same DOM?CSS: Can I use multiple IDs in the same DOM?May 14, 2025 am 12:20 AM

No,youshouldn'tusemultipleIDsinthesameDOM.1)IDsmustbeuniqueperHTMLspecification,andusingduplicatescancauseinconsistentbrowserbehavior.2)Useclassesforstylingmultipleelements,attributeselectorsfortargetingbyattributes,anddescendantselectorsforstructure

The Aims of HTML5: Creating a More Powerful and Accessible WebThe Aims of HTML5: Creating a More Powerful and Accessible WebMay 14, 2025 am 12:18 AM

HTML5aimstoenhancewebcapabilities,makingitmoredynamic,interactive,andaccessible.1)Itsupportsmultimediaelementslikeand,eliminatingtheneedforplugins.2)Semanticelementsimproveaccessibilityandcodereadability.3)Featureslikeenablepowerful,responsivewebappl

Significant Goals of HTML5: Enhancing Web Development and User ExperienceSignificant Goals of HTML5: Enhancing Web Development and User ExperienceMay 14, 2025 am 12:18 AM

HTML5aimstoenhancewebdevelopmentanduserexperiencethroughsemanticstructure,multimediaintegration,andperformanceimprovements.1)Semanticelementslike,,,andimprovereadabilityandaccessibility.2)andtagsallowseamlessmultimediaembeddingwithoutplugins.3)Featur

HTML5: Is it secure?HTML5: Is it secure?May 14, 2025 am 12:15 AM

HTML5isnotinherentlyinsecure,butitsfeaturescanleadtosecurityrisksifmisusedorimproperlyimplemented.1)Usethesandboxattributeiniframestocontrolembeddedcontentandpreventvulnerabilitieslikeclickjacking.2)AvoidstoringsensitivedatainWebStorageduetoitsaccess

HTML5 goals in comparison with older HTML versionsHTML5 goals in comparison with older HTML versionsMay 14, 2025 am 12:14 AM

HTML5aimedtoenhancewebdevelopmentbyintroducingsemanticelements,nativemultimediasupport,improvedformelements,andofflinecapabilities,contrastingwiththelimitationsofHTML4andXHTML.1)Itintroducedsemantictagslike,,,improvingstructureandSEO.2)Nativeaudioand

CSS: Is it bad to use ID selector?CSS: Is it bad to use ID selector?May 13, 2025 am 12:14 AM

Using ID selectors is not inherently bad in CSS, but should be used with caution. 1) ID selector is suitable for unique elements or JavaScript hooks. 2) For general styles, class selectors should be used as they are more flexible and maintainable. By balancing the use of ID and class, a more robust and efficient CSS architecture can be implemented.

HTML5: Goals in 2024HTML5: Goals in 2024May 13, 2025 am 12:13 AM

HTML5'sgoalsin2024focusonrefinementandoptimization,notnewfeatures.1)Enhanceperformanceandefficiencythroughoptimizedrendering.2)Improveaccessibilitywithrefinedattributesandelements.3)Addresssecurityconcerns,particularlyXSS,withwiderCSPadoption.4)Ensur

What are the main areas where HTML5 tried to improve?What are the main areas where HTML5 tried to improve?May 13, 2025 am 12:12 AM

HTML5aimedtoimprovewebdevelopmentinfourkeyareas:1)Multimediasupport,2)Semanticstructure,3)Formcapabilities,and4)Offlineandstorageoptions.1)HTML5introducedandelements,simplifyingmediaembeddingandenhancinguserexperience.2)Newsemanticelementslikeandimpr

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor