簡體   English   中英

ExpressJS / NodeJS和面向對象的編程

[英]ExpressJS/NodeJS and Object Orientated Programming

我剛接觸該行業,但似乎大多數公司在面試過程中似乎都在大量測試/強調OOP知識,即使它們的堆棧主要基於javascript / NodeJS / typescript。

我很困惑這如何適用於使用像ExpressJS這樣的框架開發后端應用程序/ API?

例如,偽代碼示例GET路由:

app.get('/', async(req, res) => { 
  const exampleData = await database.querySomething()
  res.send(exampleData)
})

在我看來,創建這些REST API的編碼風格有些程序化。 例如,接收請求,根據參數進行一些數據庫操作或查詢,添加計算/數據處理,發送回最終數據。

OOP在哪里發揮作用? 后端nodejs應用程序中OOP的用例是什么?

談到OOP概念時,您需要專注於語言(即Javascript),而不是Express。

MDN網站是JS語言的最佳網絡資源之一。 從這里開始

您可以在es6中編寫代碼或使用完全支持oops方法的框架。 查看框架-fortjsnestjs等。

例如-fortjs中的控制器看起來像-

export class UserController extends Controller {

    @defaultWorker()
    async getUsers() {
        const service = new UserService();
        return jsonResult(service.getUsers());
    }

    @worker([HTTP_METHOD.Post])
    @route("/")
    async addUser() {
        const user = {
            name: this.body.name,
            gender: this.body.gender,
            address: this.body.address,
            emailId: this.body.emailId,
            password: this.body.password
        };
        const service = new UserService();
        const newUser = service.addUser(user);
        return jsonResult(newUser, HTTP_STATUS_CODE.Created);
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM