2010-12-10 30 views
8

Tôi vừa mới bắt đầu học .net, wpf, wcf và mvvm, và câu hỏi của tôi là:Thực hiện MVVM của riêng bạn so với sử dụng khung MVVM?

Tốt hơn là triển khai MVVM hoặc sử dụng khung MVVM như MVVM Light toolkit, Prism (nó quá tiên tiến và có khuôn khổ thống nhất (không chắc chắn cách nó giúp phát triển))?

+2

Nếu bạn đã chỉ cần bắt đầu học .Net, sau đó điều cuối cùng bạn nên suy nghĩ là tái tạo lại các Framework đã được tạo ra bởi một số người có kinh nghiệm RẤT. –

+1

Câu hỏi tương tự này được tôi hỏi cũng có một số câu trả lời hay cho câu hỏi MVVM hoặc PRISM - http://stackoverflow.com/questions/6251821/custom-mvvm-implementation-vs-prism – akjoshi

Trả lời

6

Nếu bạn thực sự muốn hiểu các hoạt động bên trong của MVVM, sau đó thử thực hiện của riêng bạn.

Nếu bạn đã hiểu các khái niệm và không cảm thấy cần phải phát minh lại bánh xe, hãy sử dụng Khung. Prism là một sự lựa chọn vững chắc ... đi cho nó.

+0

cảm ơn bạn đã trả lời nhanh. Tôi chỉ cố gắng thực hiện MVVM từ đầu. Tôi sẽ nói rằng tôi đã có khái niệm này ngoài vài điều nhỏ nhặt (mà tôi cần phải đào sâu hơn) nhưng MVVM như một khái niệm tôi đã nhận nó. Nhưng bây giờ tôi nên chọn gì? MVVM/Prism/Light của riêng tôi, xem xét ứng dụng không phải là một ứng dụng lớn. – WhoIsNinja

+0

@NSingla - Sau đó, trừ khi bạn đang cố gắng để thử thách chính mình để tạo ra một khung MVVM để cạnh tranh với Prism ... chỉ cần sử dụng một khung! Không có lý do để làm cho cuộc sống khó khăn hơn về bản thân bạn. –

+0

tuyệt vời, cảm ơn tôi nhận được quan điểm của bạn. Và nếu tôi nhảy vào Prism, tôi có cần hiểu Unity/MEF trước khi cố gắng thực hiện MVVM không? – WhoIsNinja

3

Tôi sẽ không phát minh lại bánh xe, đánh giá các khuôn khổ và chỉ khi những người không đáp ứng yêu cầu của bạn, bạn nên cân nhắc viết khung của riêng mình.

+0

Điều này đúng và không chỉ áp dụng cho MVVM. Trừ khi bạn đang thêm giá trị, tái sử dụng, tái sử dụng, tái sử dụng và tập trung vào logic kinh doanh cốt lõi của bạn thay vì những thứ cơ sở hạ tầng mà những người khác đã làm. – jason

3

tôi muốn đề nghị nhìn vào nói chuyện này: Build Your Own MVVM Framework

(nếu bạn vẫn còn có không)

tôi quyết định đọc một số tài nguyên của các khuôn khổ khác nhau đầu tiên, sau đó tôi đã tải về một số dự án mẫu dựa trên Caliburn Micro để hiểu làm thế nào những điều làm việc

Caliburn là một khuôn khổ lớn và cung cấp với tất cả các bạn cần để bắt đầu và có một chuyến đi sâu vào MVVM

tôi muốn đề nghị bạn để bắt đầu sử dụng nó, và có thể, khi bạn cảm thấy đủ thoải mái, bạn có thể cố gắng tùy chỉnh hoặc đơn giản hóa nó để phù hợp với nhu cầu/phong cách của bạn, nếu bạn có thời gian, bạn sẽ tự xây dựng một cái =)

EDIT

MediaOwl là dự án mã nguồn mở tốt nhất mà tôi đã tìm thấy cho thấy một thực hiện tốt Caliburn Micro trong hành động, hãy chắc chắn để kiểm tra xem nó ra nếu bạn sẽ kết thúc chosing khuôn khổ này

+0

Có dễ hơn Prism/Light để thực hiện và hoạt động không? – WhoIsNinja

+0

http://www.japf.fr/silverlight/mvvm/index.html công cụ so sánh này cho thấy vi mô Caliburn không phải là lựa chọn tốt, theo Caliburn hoặc Ánh sáng này nên là sự lựa chọn. Mặc dù nó không có Prism trong danh sách. – WhoIsNinja

+1

Micro Caliburn là đơn giản nhưng không thực sự là một khung cơ bản, nó là mạnh mẽ bởi vì nó có funcionalities tốt, MVVM Light là khá cơ bản, và nó giúp hiểu được mô hình. Đó là sự thật Caliburn Micro không có tất cả các chức năng mà bạn sẽ cần trong MVVVM, nhưng đó là cách dễ dàng hơn để vá/mở rộng hơn phiên bản đầy đủ của Caliburn. Đó là ấn tượng của tôi khi tôi đưa mã nguồn của các khuôn khổ vào dự án của mình để kiểm soát nó nếu tôi cần sửa đổi một số hành vi để phù hợp hơn với nhu cầu của tôi, hoặc sửa đổi một số quy ước – BFil