2010-03-25 9 views
23

Tôi biết một nhóm người đang thực sự tận hưởng những cải tiến mà ASP.NET MVC 2 thực hiện trong bản phát hành đầu tiên. Tôi vừa mới bắt đầu di chuyển dự án MVC 1 của chúng tôi và cho đến nay các khu vực đã hoàn toàn làm sạch đống lộn xộn của thư mục con mà chúng tôi đã có trong ứng dụng quy mô lớn của chúng tôi. Khi tôi đi sâu hơn vào tất cả những cải tiến và những thay đổi đã được thực hiện, tôi vẫn tiếp tục suy nghĩ với bản thân mình rằng sẽ rất tuyệt nếu họ có x trong bản phát hành này. Ví dụ, tôi sẽ thích nó nếu họ có một số loại tiêm phụ thuộc được xây dựng thay vì phải sử dụng các giải pháp của bên thứ ba.ASP.NET MVC 3 - Bạn muốn xem các tính năng nào?

Câu hỏi thực sự của tôi giờ đây là ASP.NET MVC 2 đã ra đời, tính năng nào muốn/mong muốn nhóm đã triển khai và hy vọng họ sẽ triển khai ASP.NET MVC 3?

EDIT

Hình như dependency injection được xây dựng trong các phiên bản xem trước đầu tiên của ASP.NET MVC 3! Tôi thích các tính năng bổ sung cho đến nay. ASP.NET 3 preview one is out!

+0

Điều này sẽ là CW –

Trả lời

10

Tôi nghĩ MVC 3 sẽ không quá kịch tính với những cải tiến của nó, nhưng ổn định hơn và dần dần.

ASP.NET MVC 3 Roadmap có ảnh chụp nhanh về những gì nhóm đang xem xét triển khai trong bản phát hành tiếp theo và một số điểm rất thú vị.

Tôi nghĩ yêu thích của tôi từ danh sách đó có lẽ sẽ là:

  • More AJAX Helpers: Đây sẽ mang khuôn khổ phù hợp hơn với thế giới Webforms trong đó có tất cả những người giúp đỡ đã và ở một mức độ, hành vi như một rào cản đối với một số người tham gia nền tảng này.
  • Công cụ tiêm phụ thuộc nhiều hơn - cho những người muốn nó, điều này thật tuyệt.:)
  • Hỗ trợ Caching được cải thiện là chiến thắng lớn đối với tôi. Có được xây dựng ngay vào khuôn khổ sẽ là một lợi ích lớn và có thể dẫn đến một số tiết kiệm hiệu suất tốt đẹp.
  • Xác thực bổ sungCác thuộc tính cũng sẽ không bỏ lỡ. Trong khi cơ sở là rất tốt để thêm chúng, một thư viện tốt của những người phổ biến, chẳng hạn như Email và PropertiesMustMatch và như vậy.
6

Tôi thực sự muốn họ muốn thêm như sau:

  1. điều kiện Spark-phong cách và loops sử dụng thẻ thuộc tính html.
  2. Đã cập nhật: Thuộc tính dự án có thể nhìn thấy để chuyển đổi xác nhận thời gian biên dịch của chế độ xem.
  3. Điều gì đó để xác minh/xác thực rằng các tuyến đường của tôi là chính xác.
  4. Giải pháp nhà cung cấp thành viên sử dụng int thay vì Guid để nhận dạng và cho phép ánh xạ các trường hồ sơ sang bảng tùy chỉnh thay vì mặc định chung nhưng chậm.
  5. người giúp đỡ Lambda-based để tránh dây ma thuật (hiện đang trong MvcFutures)
  6. T4MVC mẫu để tự động tạo ra những người giúp đỡ mạnh mẽ gõ
  7. trình thuật sĩ dự án hoặc mẫu để có được một mẫu mà đã được thiết lập cho IoC và mối quan tâm tương tự, tốt nhất với hộp thoại chọn để chọn khung để sử dụng cho IoC, kiểm tra đơn vị, v.v.
  8. Thuộc tính bổ sung (cả bộ lọc và xác thực).

Hmmm, đó là tất cả tôi có thể nghĩ ngay bây giờ :)

+0

1. Bạn có thể thay thế công cụ xem Spark cho một số quan điểm của bạn và nó sẽ chạy song song với chế độ xem công cụ xem MVC thông thường của bạn. –

+1

2. Nếu bạn làm điều này, bạn từ bỏ một mức độ linh hoạt nhất định (khả năng thay đổi chế độ xem khi đang di chuyển trong khi ứng dụng vẫn đang chạy). Quan điểm của bạn có thực sự phức tạp đến mức họ yêu cầu xác nhận thời gian biên dịch không? –

+1

7. Điều đó sẽ rất hay. –

4

Tooling (T4 mẫu) để tạo Moq các đối tượng cho kiểm tra đơn vị sẽ rất mát mẻ. Thử nghiệm đối với một số đối tượng nhất định trong khung công tác là không cần thiết phức tạp, và có khả năng mã-gen một số điều này sẽ rất có lợi.

+0

+1 từ tôi về điều này. –

+0

++ "phức tạp không cần thiết" – redsquare

4

Tôi muốn:

Tooling

  • An xem danh sách thay thế sử dụng ajax ví dụ sử dụng jqGrid (triển khai sắp xếp, phân trang, tìm kiếm)
  • Cải tiến trang CRUD phát hiện mối quan hệ thực thể cho các lớp khung thực thể và sử dụng một tập hợp các thành phần khác dựa trên loại trường, ví dụ: giống như Dữ liệu động:)
+1

+1 để có công cụ CRUD tốt hơn. –

3

Vì ASP.net MVC 3 sẽ là .net 4 only, tôi muốn xem một số thứ xung quanh các bộ điều khiển không đồng bộ và tất cả các chức năng đồng bộ/đa luồng mới khác .net 4 mang lại.

1

Tôi muốn những người giúp đỡ tự động tạo khung nhìn chỉ mục. Có thể một cái gì đó như IndexDisplay(), IndexDisplayFor()IndexDisplayForModel().

2

Tôi muốn xem hỗ trợ được tích hợp sẵn cho những thứ như IronRuby

+0

+1 cho hỗ trợ Ruby :) – ashes999

1

Tôi muốn tạo mẫu tự động tạo các lớp bạn thân trên bất kỳ mô hình cụ thể nào.

9

Tôi muốn xóa hoàn toàn tất cả các chuỗi ma thuật.

2

Hỗ trợ MEF sẽ tốt đẹp.

0

nhiều điều khiển và người trợ giúp sẽ thực sự tốt đẹp, đặc biệt là một (ajax) lưới.

+2

Tôi ghét từ 'kiểm soát', nó chỉ nhắc nhở tôi về những thứ như viewstate, postback và những thứ tôi làm tại nơi làm việc bây giờ: ( – Jarek

1

tôi cũng sử dụng tính năng đơn giản như hầu hết mọi thứ mà không cần trợ giúp như html-helper i điều mà phát triển trong asp.net MVC 3 là cách tốt hơn để tìm hiểu MVC 3 trong tương lai.

1

Hai điều tôi muốn thấy nhất là tiêm đơn giản phụ thuộc vào quan điểm, các bộ lọc, vv, và (Tôi biết điều này là được cho là trên đường với công cụ xem Razor) là để có thể kiểm tra quan điểm của tôi trong sự cô lập từ đường ống ASP.Net (có lẽ bao gồm xác nhận doctype và/hoặc một số loại biên dịch/xác nhận JavaScript).

Dưới đây là một vài ý tưởng khác:

  • Nó sẽ được tốt đẹp để có thể gói lên một thành phần giao diện người dùng (lượt xem, mẫu, các mô hình điểm, vv) để tái sử dụng qua nhiều dự án. Tôi đoán điều này hiện tại có thể bằng cách nào đó, nhưng tôi chỉ không cần nó đủ nặng để tìm ra chính bản thân mình.
  • Ý tưởng về controllerless actions hấp dẫn tôi, đặc biệt là từ quan điểm SRP.
  • Hỗ trợ tốt hơn cho mẫu Nhận-Chuyển hướng-Nhận (P/R/G) ... có vẻ như cần có sự hỗ trợ nội tại cho mẫu rất quan trọng này.
2

Tôi muốn xem cách xử lý định tuyến mới, để giúp các nhà phát triển dịch vụ REST dễ dàng hơn. Hiện tại tôi có các tuyến đường như sau:

context.MapRoute(null, 
       "api/posts", 
       new { controller = "Post", action = "Get" }, 
       new { httpConstraint = new HttpMethodConstraint("GET") }); 


context.MapRoute(null, 
       "api/posts", 
       new { controller = "Post", action = "Insert" }, 
       new { httpConstraint = new HttpMethodConstraint("POST") }); 


context.MapRoute(null, 
       "api/posts/{id}", 
       new { controller = "Post", action = "Update" }, 
       new { httpConstraint = new HttpMethodConstraint("PUT") }); 


context.MapRoute(null, 
       "api/posts/{id}", 
       new { controller = "Post", action = "Delete" }, 
       new { httpConstraint = new HttpMethodConstraint("DELETE") }); 

Để một người mới sử dụng ASP.NET MVC, việc tạo các đối tượng ẩn danh để xử lý định tuyến là rất khó hiểu. Tôi muốn xem nó được sửa đổi thành một cái gì đó như thế này (và kể từ khi chúng tôi đang sử dụng C# 4.0):

context.MapRoute("api/posts", 
       controller: "Post", 
       action: "Get", 
       httpMethodConstraint: HttpMethodConstraint.GET 
       ); 

context.MapRoute("api/posts", 
       controller: "Post", 
       action: "Insert", 
       httpMethodConstraint: HttpMethodConstraint.POST 
       ); 

context.MapRoute("api/posts/{id}", 
       controller: "Post", 
       action: "Update", 
       httpMethodConstraint: HttpMethodConstraint.PUT 
       ); 

context.MapRoute("api/posts/{id}", 
       controller: "Post", 
       action: "Delete", 
       httpMethodConstraint: HttpMethodConstraint.DELETE 
       ); 

Điều này sẽ làm cho nó dễ khám phá hơn.