2008-09-10 37 views
5

ASP.NET MVC dường như đang tạo một lối vào khá lớn. Bất cứ ai có thể tóm tắt cách thực hiện MVC của nó ngăn xếp lên chống lại khuôn khổ MVC phổ biến cho các ngôn ngữ khác? (Tôi đang suy nghĩ cụ thể của Rails và Zend Framework, mặc dù có rất nhiều.) Quan sát trên đường cong học tập, thuật ngữ phổ biến, dễ sử dụng và chào đón yếu tố cảm giác.ASP.NET MVC so với Zeitgeist

(Vì lợi ích của một nền tảng nhỏ, tôi đã tránh sử dụng ASP.NET một thời gian vì tôi thực sự ghét cách tiếp cận webforms, nhưng lời khen ngợi đầy đủ của Jeff trên podcast đã gần như thuyết phục tôi cho nó đi.)

Trả lời

7

Tôi chỉ đi vào ASP.NET MVC, vì vậy đây là một số suy nghĩ ban đầu so sánh nó với Rails:

Chủ yếu là quản lý để gắn bó với gõ tĩnh, phải trả giá bằng một mã thêm chút.
Điều này sẽ cung cấp cho bạn các dấu hiệu ấm áp hoặc khiến bạn cảm thấy hơi bị cùm tùy thuộc vào cảm giác của bạn về cách nhập động. Ví dụ, bạn có thể có quan điểm của bạn mong đợi dữ liệu được nhập cụ thể (và do đó có được kiểm tra thời gian biên dịch của các quan điểm của bạn).

Phân tách các bit của khuôn khổ tốt hơn.
Vì vậy, không có cơ chế truy cập dữ liệu theo quy định như ActiveRecord trong Rails; bạn được tự do lựa chọn của riêng mình. LINQ cảm thấy tương tự nếu bạn muốn một cái gì đó giá rẻ, nếu một chút chi tiết hơn. Bạn có thể sử dụng các phần không phải WebForms của ASP.NET như bộ nhớ đệm và xác thực.

Tính năng phát lại vẫn đang phát.
Xem trước 5 đã đưa AcceptVerbs, trình cập nhật mô hình (tương tự như hash.merge của Ruby) và nhiều cách khác để liên kết các biểu mẫu với các mô hình. Cảm thấy như vẫn còn nhiều thứ nữa trước khi họ kiểm tra hầu hết các tính năng mà Rails có.

Tôi vẫn còn thiếu một chút tự do và sang trọng của Rails (phần lớn trong số đó là xuống Ruby, tôi đoán), nhưng ASP.NET MVC thực sự cảm thấy khá gần gũi.

1

Nếu bạn đã lập trình trong thành ngữ .NET, thật dễ dàng để nhận được rất nhiều điều đang xảy ra trong khung MVC. Rails, mặt khác, có thể khá dễ dàng để nhận (cấp, ở một mức độ cơ bản) nếu bạn chưa bao giờ đặt mắt vào Ruby trước khi bạn bắt đầu.

Có vẻ như bạn đang nói về chất lượng-như-MVC, mặc dù, và có vẻ như tôi như cả hai khuôn khổ (không thể nói cho Zend) làm một công việc rất tốt của tách các mối quan tâm.

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