2008-11-20 31 views
45

Tôi đã đọc một vài điều về MVC nhưng tôi vẫn không hiểu khi nào chúng nên được sử dụng và khi chúng không được sử dụng. Tôi đang tìm những ví dụ rõ ràng nói những điều như " nếu bạn đang phát triển điều này thì bạn nên sử dụng MVC, như thế này" và " nếu bạn đang phát triển điều này, bạn không nên sử dụng MVC." các ví dụ tôi đã nhìn thấy dựa vào các khung công tác phức tạp đã triển khai mọi thứ và bạn phải tìm hiểu khung công tác và sử dụng nó rất nhiều để hiểu những gì đang thực sự xảy ra. Đối với nhiều lập trình viên, phrasings như " UI logic kinh doanh" âm thanh như thuật ngữ marketing — ví dụ, dòng chữ " Thay vào đó, Xem liên kết trực tiếp đến một mô hình trình bày" được sử dụng trong this post.Tôi có thể tìm các ví dụ rõ ràng về MVC ở đâu?

Tôi nhận thức được nguy hiểm có thể ẩn nấp trong bóng tối như MVC là một khái niệm và mọi người cảm thấy như họ biết rõ nhất, nhưng không ai biết chính xác cách sử dụng nó vì có thể có rất nhiều biến liên quan và mọi người được phép có quan điểm khác nhau về cách thức để phân tích một dự án thành Model, View và Controller. Có rất nhiều lý thuyết, nhưng rất ít ví dụ rõ ràng. Những gì tôi đang tìm kiếm không phải là "cách tốt nhất" để làm điều đó vì vậy điều này không nên được coi là chủ quan; Tôi đang tìm kiếm khác nhau đơn giản triển khai sẽ cho phép tôi tự quyết định cách tiếp cận tốt nhất.

Ngắn gọn: Các nguồn tài nguyên trực tuyến tốt là những lý lẽ chuyên nghiệp và con để sử dụng MVC trong các tình huống khác nhau và cung cấp các ví dụ rõ ràng để giúp người đọc hiểu khái niệm?

+0

Dưới đây là một ví dụ tốt về những gì tôi đang tìm kiếm: http://toys.lerdorf.com/archives/38-The- no-framework-PHP-MVC-framework.html – Tom

+1

Và đây là ví dụ tuyệt vời: http://www.c2.com/cgi-bin/wiki?ModelViewController – Tom

+0

Yêu cầu liên kết/tham chiếu không phải là câu hỏi SO hợp lệ. –

Trả lời

13

IMO, các ví dụ tốt nhất là với mã và/hoặc bộ dụng cụ khởi động.

Rob Conerygreat number of posts giải thích cách tạo trang MVC với ASP.NET MVC. Mỗi một trong số này có một số video tutorial chạy qua thảo luận trên blog.

Quan chức ASP.NET MVC trang web cũng có một số video posts, bộ dụng cụ khởi động (here, herehere) và extra sauce để giúp đỡ.

IMO, MVC là cách để truy cập Trang web. Nếu không có tất cả các thuật ngữ và tiếp thị nói, nó thực sự phá vỡ mã của bạn thành các phần đẹp, riêng biệt và được xác định. Mỗi phần này cũng có thể được kiểm tra .. điều này thực sự giúp bảo vệ quá trình phát triển bởi vì bạn yên tâm khi chạm vào một phần của hệ thống sẽ không phá vỡ một phần khác (vì tất cả các bài kiểm tra đều vượt qua thay đổi mới nhất của bạn).

blog khác mà bạn nên kiểm tra:

1

Tôi đã thực hiện việc này theo mọi cách cho các dự án khác nhau. Từ mã hóa tất cả mọi thứ cho một ứng dụng trong một kịch bản PHP lớn lớn (OK nó bắt đầu như là một kịch bản PHP nhỏ mà chỉ tăng trưởng). Để sử dụng khung công tác Spring/Freemarker mới nhất, nơi dòng mã 5O của tôi bị mất trong một biển mã hóa XML và mẫu.

Bạn có thể thực hiện MVC mà không cần khung và trong php, đây có lẽ là cách đơn giản nhất. Nếu tất cả các mã điều hướng của bạn là trong một kịch bản duy nhất với logic chỉ chuyển hướng thì bạn đang làm MVC!

Đối với bất kỳ điều gì khác ngoài QDP (Trang Bẩn Nhanh), tôi khuyên bạn nên sử dụng một số loại MVC. Chỉ cần tưởng tượng những gì bạn sẽ cần phải làm nếu doanh nghiệp nói "tôi có thể có một phiên bản tiếng Pháp" hay "chương trình tuyệt vời nhưng tôi muốn lưu trữ dữ liệu trong cơ sở dữ liệu xxxxx".

0

Thường khó phân biệt rõ ràng chế độ xem logic của bạn với logic nghiệp vụ của bạn. Nếu bạn đọc abit trên JSF & ví dụ JSP bạn có thể xem ví dụ rõ ràng về MVC đang sử dụng. Hoàn toàn tách riêng chế độ xem khỏi logic nghiệp vụ.

Nếu bạn đang tìm kiếm thông tin tốt về MVC Tôi có thể đề nghị http://en.wikipedia.org/wiki/Model-view-controller

Đây là một chủ đề quan trọng và tôi thực sự thích ý tưởng của sepperating logic khác nhau. Nó giúp các lập trình viên và mọi người khác làm việc trên dự án.

4

Giả sử bạn có nghĩa là MVC cho các trang web bạn muốn được cứng ép để tìm bất cứ điều gì hơn súc tích hơn 60 dòng mã sau đây:

http://code.google.com/p/barebonesmvc-php/

Lưu ý cụ thể phương thức mẫu "sendResponse", lần lượt về cơ bản bao gồm 2 cuộc gọi phương thức sau:

applyRequestToModel

applyModelToView

2

Một trong đánh giá cao nhất mà tôi đã xem là bài đăng Learn MVC in 7 days. Tất nhiên, tốt như nó là, nó vẫn còn so với một cuốn sách như Pro ASP.NET MVC 4

Các vấn đề liên quan