Vietnam

    Nodejs.vn

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags
    • Groups
    • Search

    Xin ý kiến về xây dựng file Model chuẩn!

    ExpressJS/Conect.IO
    0
    3
    515
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Kha Pham
      Kha Pham last edited by Kha Pham

      Mình xây dựng model cho server của mình nhưng không biết cách nào mới đúng chuẩn.
      Mong mấy bạn đi trước hoặc có kinh nghiệm chia sẽ giúp cách tạo ra một model chuẩn thuận tiện cho việc code sau này.
      Cám ơn các bạn đã đọc.
      Dưới đây là model mình tự làm. Nhìn không có logic lắm.
      0_1527153841176_image.png

      Đam mê công nghệ
      Không biết nhiều nhưng cũng muốn đóng góp

      Nguyen Hien 1 Reply Last reply Reply Quote 0
      • Nguyen Hien
        Nguyen Hien @Kha Pham last edited by

        @Kha-Pham
        Vầy thì code cũng khó scale lắm bạn. Ví dụ hàm insert bạn muốn chuyển từ data từ req.body (asume nha) với lượng input nhiều hơn 3 mà là 10 thì sao. Với mongoDB nó store sạch sẽ. Hoặc vói Postgresql thì nó sẽ báo lỗi khi dư. Nên trong file model thì mình thấy có 3 phần chính.

        1. Define Schema (với Relation DB như postgres, mysql) hoặc với nếu bạn dung mongoose như trên.
        2. Define mapping data từ object data bất kì -> 1 instance của model đó.
          Ví dụ:
        CreatePermissionData(data) => {
        return Permission.build({
        id_quyen: data.id_quyen,
        ....
        })
        }
        UpdatePermissionData(data) => {...}
        

        Cái này giúp bạn lọc data từ client ra thành những thứ bạn cần. Không thừa, không thiếu. Và có thể add default trong code base dễ hơn.

        1. Các method với model đó. Ví dụ 1 class permission như bạn trên kìa là đang thể hiện các method của 1 instance. Nhưng bạn viết nó thành thể hiển 1 cái model của 1 db. (insert, ...)
        Permission.getId() => {return this.id}
        ...
        

        Những hàm method xử lí với data của instance sẽ rõ ràng hơn. Còn làm việc với db các thao tác như search, insert, update. Bạn viết 1 file controller hay gateway xử lí nó. Sẽ sạch đẹp hơn :3

        Sent from Rodgers Zone!!!

        Kha Pham 1 Reply Last reply Reply Quote 0
        • Kha Pham
          Kha Pham @Nguyen Hien last edited by

          @Nguyen-Hien cám ơn bạn. Giờ hiểu thêm về nó. Nó không có dạng framwork giống php để dễ làm nhĩ nên hơi cực xíu nhưng vẫn rất thích

          Đam mê công nghệ
          Không biết nhiều nhưng cũng muốn đóng góp

          1 Reply Last reply Reply Quote 0
          • First post
            Last post
          $(document).ready(function () { app.coldLoad(); }); }