2010-03-29 60 views
22

Tôi đã có khoảng ba năm kinh nghiệm C#. Tôi muốn tìm hiểu một số mẫu WPF và MVVM. Có rất nhiều liên kết đến các bài viết trên trang web này nhưng tôi nhận được một chút choáng ngợp. Một cách tiếp cận hợp lý cho người ăn xin có thể quên mvvm một thời gian và nhanh chóng tìm hiểu một chút về WPF, sau đó quay lại MVVM?Học WPF và MVVM - cách tiếp cận tốt nhất để học từ đầu

Tôi đã có một chiếc lá thông qua Application=Code+Markup - Charles Petzold trong công việc hiện nay, dường như nó không đề cập đến MVVM (ít nhất không có trong chỉ mục). Tôi đã khá ngạc nhiên bởi điều này như tôi nghĩ MVVM được coi là "lingua franca" của WPF?

Ngoài ra tôi vừa mới bắt đầu làm việc tại một công ty mới và họ đang sử dụng MVVM với WinForms, đã có ai gặp phải điều này trước đây chưa?

Có ai có thể giới thiệu một cuốn sách sẽ dạy tôi cả WPF và MVVM không?

+0

Các mô hình MVVM là một phương pháp phổ biến cho đơn giản hóa và Detangling ứng dụng WPF, nhưng nó không phải là duy nhất một. Tôi đã tìm thấy rằng TMTOWTDI (có nhiều hơn một cách để làm điều đó) chắc chắn áp dụng cho WPF. – dthrasher

+0

Cuốn sách này là chính xác những gì bạn cần: "Tìm hiểu WPF MVVM" https://www.amazon.com/dp/B01M365NCZ Nó dạy bạn WPF trong thời gian không, và sau đó giới thiệu bạn đến MVVM. Disclaimer: đó là cuốn sách của tôi.:-) Chúc may mắn về việc học của bạn! –

Trả lời

26

Tùy thuộc vào trải nghiệm của bạn.

Cá nhân tôi cảm thấy rằng đây là một khu vực thiếu trong các cuộc thảo luận MVVM, đó là những gì đã dẫn tôi viết loạt bài về MVVM and WPF from a Windows Forms developer perspective.

tôi sẽ không cố gắng để tìm hiểu WPF mà không cần học MVVM. Bạn sẽ kết thúc cố gắng để "không tìm hiểu" nhiều khía cạnh, như WPF thực sự không có ý nghĩa, hoàn toàn, cho đến khi bạn hiểu được sự tách biệt của trình bày và logic phổ biến khắp kiến ​​trúc. MVVM thực sự chỉ mở rộng sự tách biệt này vào không gian ứng dụng.

Đối với "MVVM trong Windows Forms" - rất nhiều người cố gắng làm điều này, nhưng nó không thực sự MVVM. Để thực hiện "MVVM", bạn cần truy cập vào hình thức ràng buộc dữ liệu phong phú hơn Windows Forms cung cấp. "MVVM trong Windows Forms" thực sự, điển hình, chỉ Model-View-Presenter với một tên khác (cưỡi MVVM bandwagon, tôi đoán), nhưng không thực sự giống như MVVM trong WPF.

+0

WPF mà không có MVVM là hoang mang và bực mình. WPF với MVVM là giải phóng và thú vị. –

+0

WPF thực sự yêu cầu một số hình thức tách mối quan tâm hoặc nó chỉ không có ý nghĩa ... –

+0

Cảm ơn cho loạt bài này, tôi đã tìm kiếm thông tin Winforms-> WPF phong nha. – Paolo

4

Không có nhiều cuốn sách bao gồm MVVM nhưng có một: Advanced MVVM

Nhưng có rất nhiều tài nguyên trực tuyến và điều này là phải đọc: WPF Apps With The Model-View-ViewModel Design Pattern

Sau đó tôi khuyên bạn nên nhìn vào các khuôn khổ như

+2

+1 khi chơi với WPF và MVVM cuối tuần trước, tôi gần như ngay lập tức chạy vào giới hạn mà tôi không thể ràng buộc xử lý sự kiện cho viewmodel. Các khuôn khổ mà bạn liên kết xuất hiện để khắc phục điều đó, vì vậy tôi chắc chắn sẽ kiểm tra chúng! –

11

Jason Dolinger có video tuyệt vời về chủ đề này. Nó hướng dẫn bạn qua quá trình chuyển từ việc sử dụng mã đằng sau các tệp thành một mẫu MVVM đầy đủ bao gồm cả Dependency Injection và Testing.

Bill Steele đã thực hiện 16 phần webcast "Soup-to-Nuts" trên WPF. Các liên kết trên trang web msevents bị hỏng. Đây là số Google search để tìm chúng. Điều này sẽ giúp với đường cong học tập WPF. Và anh ta KHÔNG sử dụng bất kỳ mẫu MV * nào trong các ví dụ của mình.

CHỈNH SỬA: Các liên kết MSEvents hiện đang hoạt động, tôi để Google search làm bản sao lưu.

Josh Smith cũng có một bài viết xuất sắc WPF Apps With The Model-View-ViewModel Design Pattern trên MSDN.

Herding Mã số: Patterns Presentation với Jeremy Miller, Phường Bell, Rob Eisenberg và Glenn Khối

MIX10:

Và tất nhiên Reed Copsey của MVVM articles có giá trị một đọc là tốt.

+1

rằng video Jason Dolinger là một khởi đầu tuyệt vời. –

+1

Vâng, video Jason Dolinger là thứ cuối cùng đã được chiếu trên bóng đèn cho tôi. Rat khuyen khich. – billb

5

Tôi đã nói một vài lần rằng phiên MIX10 của tôi đã giải thích mẫu MVVM đủ tốt cho người mới bắt đầu (mặc dù một số phần thực sự khá tiên tiến, vì vậy đừng lo lắng nếu bạn cần xem lại một số phần nhất định).

Phiên này ở số http://live.visitmix.com/MIX10/Sessions/EX14

Xin lỗi vì đã tự quảng cáo.

Chúc mừng, Laurent

+0

@Laurent: Tôi đã bỏ lỡ việc tự quảng cáo đó trước khi tôi thêm phiên của bạn vào câu trả lời của tôi. :) – VoidDweller

+0

+1 Tôi đã tìm thấy video công nghệ của bạn trên mvvm rất hữu ích! =) http://channel9.msdn.com/Blogs/kreekman/TechDays-2010-Understanding-the-Model-View-ViewModel-pattern – gideon

0

Để làm được những điều lớn (như học WPF + MVVM) tốt hơn là phá vỡ các nhiệm vụ trong các bước nhỏ hơn.

Tôi nghĩ rằng cách tiếp cận tốt nhất trong tình huống này là bắt đầu bằng cách tìm hiểu phần giao diện người dùng của Wpf. Tìm hiểu cú pháp XAML, hệ thống bố trí, các điều khiển khả dụng và quên ràng buộc và cách phân phối dữ liệu đến các điều khiển.

Một khi bạn biết các khái niệm cơ bản về UI của Wpf thì đã đến lúc chuyển sang MVVM. Tìm hiểu cách các ràng buộc hoạt động và mẫu MVVM.

Trong Web này, bạn có thể tìm thấy một hướng dẫn tập trung vào tay trên nhưng với lý thuyết có sẵn:

http://www.learnmvvm.com

+0

Tuyên bố từ chối trách nhiệm: Tôi là tác giả của trang web Tôi hy vọng đây không phải là vấn đề. –

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