Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 17 kết quả

Đề tài: Điểm khác nhau giữa mô hình MVC và 3 Layer

  1. #1
    Ngày gia nhập
    02 2008
    Bài viết
    88

    Mặc định Điểm khác nhau giữa mô hình MVC và 3 Layer

    Tôi đã google và đọc rất nhiều tài liệu về 2 cái này.
    Tuy nhiên tôi vẫn chưa thấy được sự khác biệt đáng kể nào về 2 mô hình này cả.
    Bạn nào có thể chỉ ra cho tôi biết được sự khác nhau giữa 2 mô hình này ko?
    THank.
    Mình từ Caulacbovb qua)
    Giã từ VB6 đến với VB.Net, C# và Java.

  2. #2
    Ngày gia nhập
    11 2007
    Bài viết
    294

    Ngó qua cái này coi xem có giúp được gì không ^^!
    _http://en.wikipedia.org/wiki/Three_layer#Comparison_with_the_MVC_architecture

    P/S : wikipedia cũng nhầm multitier với multilayer ^^! Kiến trúc thì rõ ràng là 3 layer. Zầy mà cứ kêu là multitier ^^!
    Khuyến mãi thêm cho 1 cái link phưn biệt 3-layer, 3-tier với MVC ^^!
    _http://blogs.msdn.com/diegumzone/archive/2006/10/09/3_2D00_Tier_2C00_-3_2D00_Layer_2C00_-MVC_3A00_-a-Trio-of-Famous-Trios.aspx

    Có cái này dễ hỉu hơn
    User Interface Process Components

    Complex user interfaces often require many highly complex forms. To increase reusability, maintainability, and extensibility, you can create a separate user interface process (UIP) component to encapsulate dependencies between forms and the logic associated with navigating between them. You can apply the same concept to the dependencies, validation, and navigation between components of a single form. These UIP components are typically custom components that are based on design patterns such as Front Controller, Application Controller [Fowler03], and Mediator [Gamma95].

    The interaction between UI and UIP components often follows the Model-View-Controller or Presentation-Abstraction-Controller [Buschmann96] pattern.
    nguồn : _http://msdn.microsoft.com/en-us/library/ms978689.aspx
    Đã được chỉnh sửa lần cuối bởi darkan : 05-12-2008 lúc 10:57 AM. Lý do: thêm tí thông tin nữa ^^!
    Is the moon rising...

  3. #3
    Ngày gia nhập
    11 2006
    Bài viết
    633

    Nếu bạn tách lớp BLL thành 2 lớp con là BO và BAL thì bạn sẽ nhìn rõ sự khác biệt giữa 3 lớp và MVC.

  4. #4
    Ngày gia nhập
    01 2008
    Nơi ở
    Gameloft Studio
    Bài viết
    294

    Theo tui thì MVC là kiến trúc chung cho mọi chương trình. Thậm chí có người code chương trình theo kiến trúc này nhưng mà vẫn ko biết được mình đang làm trên kiến trúc MVC.

    Tui thì biết MVC như sau: Có 3 thành phần là Model (mô hình) - View (hiển thị) - Controler (điều khiển).

    Phần Model:
    - Chính là lớp dữ liệu phía dưới. Ví dụ như 1 đường tròn thì nó cần có các thành phần như x,y, R. Và Model còn 1 nhiệm vụ nữa là truy xuất (save - load).

    Phần View
    - Là sự thể hiện của model, ví dụ như với x,y,R như trên thì nó sẽ vẽ ra 1 hình tròn như thế nào đó...
    - view ko chỉ không chỉ là màn hình mà phậm chí có thể ra máy in,...

    Controler
    - Là các thao tác phím, chuột và các thiết bị ngoại vi khác nhằm điều khiển chương trình.

    Khi làm 1 project MFC thì nó có xây dựng sẵn kiến trúc này:
    + Model -> CDocument
    + View -> CView
    + Controler -> CMainFrame
    Do đó nên nhảy vô MFC hay bị ngộp bởi mấy cái này vì code sinh ra nhiều quá.


    Còn 3Layer hay 3Tier gì đó là kiến trúc cho chương trình quản lý.
    + Data Access - (Gần giống Model).
    + Bussiness (Phần này sinh ra nhằm làm giảm sự ràng buộc giữa GUI và Data)
    + GUI (View - Controler).
    Đã được chỉnh sửa lần cuối bởi ZCoder87 : 06-12-2008 lúc 01:13 PM.

  5. #5
    Ngày gia nhập
    11 2006
    Bài viết
    633

    Theo mô hình MVC cổ điển, mọi xử lý đặt vào trong Controller do đó nếu so sánh với 3-layer (chính xác là 4-layer) thì Controller = Business Access Layer + Data Access Layer, View = Presentation Layer, Model = Business Object.
    Dấu = ở đây chỉ sự tương quan, ko phải là giống hoàn toàn nhé.
    Theo mô hình MVC hiện đại thì ko khác 3-layer là mấy, ko nhất thiết phải nhất nhất áp dụng theo mô hình MVC hay 3-layer. n-layer chính là sự lựa chọn cho bạn, cảm thấy tách biệt được cái gì ra cho dễ quản lý thì cứ tách nó ra, hết phim.

  6. #6
    Ngày gia nhập
    12 2008
    Bài viết
    4

    Mặc định Điểm khác nhau giữa mô hình MVC và 3 Layer

    Phân biệt MVC là 3 layer thì đơn giản thôi .

    3 Layer là kiến trúc ba tầng phân kiến trúc phần mềm thành 3 tầng logic :


    Tầng trình bày Presentation Layer
    Tầng logic nghiệp vụ : Business Logic Layer
    Tầng truy cập dữ liệu : Data Access Layer

    Còn MVC - là một Design Pattern được ban đầu thiết cho tầng trình bày web Web Presentation Patterns .

    Nhìn chung MVC là một Design Pattern cho tầng trình bày Presentation Layer

  7. #7
    Ngày gia nhập
    11 2006
    Bài viết
    633

    zsoft nhầm lẫn và ngộ nhận giữa 3 tầng và 3 lớp rồi.
    Đang nói về 3 layer hay 3 tier vậy?

  8. #8
    Ngày gia nhập
    12 2008
    Bài viết
    4

    à 3 tầng tớ dùng ở đây là "tầng logic" hay gọi là "lớp" - "Layer".
    Tớ vẫn hay gọi là "tầng" để phân biệt với "lớp" class ấy mà ^^

  9. #9
    Ngày gia nhập
    12 2008
    Bài viết
    4

    Nói chung là trong software, người ta dung từ layer -tầng logic và tier - tầng vật lý interchangeable, tiếng Việt lại có thể dịch là tầng hay lớp ^^ . Nói là nhiều tier hay nhiều layer, nói chung không sai. Nhưng nhóm các layer cùng chức năng tương tự lại, thì bao giờ cũng gồm ba nhóm chính là Presentation Layer, Business Logic Layer, Data Access Layer

    Còn MVC Design pattern là một design pattern dành riêng cho Presentation layer, chứ không phải là cách chia toản bộ một application ra thành 3 layer là Model – View – Controller.

  10. #10
    Ngày gia nhập
    11 2006
    Bài viết
    633

    MVC ko phải là 1 design pattern chỉ dành riêng cho PL thôi đâu, trong Cotroller layer nó có lớp DAO để lấy dữ liệu từ db lên rồi xử lý nữa. Model layer thì nó chỉ đơn thuần là 1 object thể hiện 1 hay nhiều record bên dưới db. View mới chính là PL.

Các đề tài tương tự

  1. Tìm hiểu mô hình 3-layer trong CNPM
    Gửi bởi zkday2686 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 18
    Bài viết cuối: 03-11-2013, 09:28 PM
  2. ADO.NET Cách giới hạn column của datagirdview khi sử dụng 3 layer với EF?
    Gửi bởi nuoiheo0001 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 23-06-2013, 11:02 AM
  3. Sự khác nhau giữa mô hình MVC và 3 Layer ??
    Gửi bởi dangbon trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 4
    Bài viết cuối: 07-03-2013, 11:15 AM
  4. Sự khác nhau giữa phần mềm sử dụng mô hinh 3 layer, 3 tier với phần mềm bình thường
    Gửi bởi chickcoder trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 09-05-2012, 02:15 AM
  5. 3 layer trong c#
    Gửi bởi daivuongtiep trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 13
    Bài viết cuối: 21-03-2010, 01:05 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn