2010-12-10 13 views
8

Właśnie rozpoczął naukę .NET WPF WCF i MVVM, i moje pytanie brzmi:Wdrażanie własnej MVVM vs. korzystanie z platformy MVVM?

lepiej jest realizować własne MVVM lub użyć ramy MVVM jak MVVM Toolkit światła, pryzmat (jest zbyt zaawansowany i ma strukturę jedności (nie wiesz, jak pomaga w rozwoju))?

+2

Jeśli masz Właśnie zacząłem uczyć się .Net, wtedy ostatnią rzeczą, o której powinieneś pomyśleć, jest ponowne wymyślanie Ram, które zostały stworzone przez jakichś BARDZO doświadczonych ludzi. –

+1

To podobne pytanie, zadane przeze mnie, ma również dobre odpowiedzi na pytanie MVVM lub PRISM - http://stackoverflow.com/questions/6251821/custom-mvvm-implementation-vs-prism – akjoshi

Odpowiedz

6

Jeśli naprawdę chcesz zrozumieć wewnętrzne funkcjonowanie MVVM, spróbuj wdrożyć własne.

Jeśli znasz już pojęcia i nie czujesz potrzeby ponownego wynajdowania koła, skorzystaj z programu ramowego. Prism to solidny wybór ... wybierz się na to.

+0

dzięki za szybką odpowiedź. Po prostu próbowałem wdrożyć MVVM od zera. Powiedziałbym, że mam pojęcie z wyjątkiem kilku drobiazgów (które muszę pogłębić), ale MVVM jako koncepcja mam. Ale jaki powinien być teraz mój wybór? mój własny MVVM/Prism/Light, biorąc pod uwagę aplikację nie jest dużą aplikacją. – WhoIsNinja

+0

@NSingla - Jeśli nie będziesz próbował rzucić sobie wyzwania, aby stworzyć MVVM Framework, aby konkurować z Prism ... po prostu skorzystaj z Framework! Nie ma powodu, by życie było dla ciebie trudniejsze. –

+0

świetnie, dzięki, rozumiem. A jeśli wskoczę do Prism, czy muszę zrozumieć Unity/MEF przed próbą wdrożenia MVVM? – WhoIsNinja

3

Nie chciałbym odkrywać koła na nowo, oceniać szkieletów i tylko wtedy, gdy te nie spełniają twoich wymagań, jeśli rozważysz napisanie własnych ram.

+0

Jest to poprawne i nie dotyczy tylko MVVM. Jeśli nie dodajesz wartości, nie wykorzystujesz ponownie, nie wykorzystujesz ponownie, nie wykorzystujesz ponownie i nie skupiasz się na głównej logice biznesowej, a nie na infrastrukturze, którą inni już wykonali. – jason

3

Sugeruję spojrzeć na ten Dyskusja: Build Your Own MVVM Framework

(jeśli jeszcze nie masz)

postanowiłem przeczytać kilka zasobów różnych ram, potem Pobrałem jakiś przykładowy projekt na podstawie Caliburn Micro zrozumieć, jak rzeczy działało

Caliburn jest wielkim ramy i zapewniają wszystko, czego potrzebujesz, aby zacząć i wziąć głęboki jazdę w MVVM

Sugeruję, aby zacząć używając go, a może, gdy czujesz się wystarczająco komfortowo, możesz spróbować go spersonalizować lub uprościć, aby pasował do twoich potrzeb/stylu, a następnie, jeśli masz czas, zbudujesz własne =)

EDIT

MediaOwl jest najlepszym projektem open source Znalazłem zobaczyć dobrą realizację Caliburn Micro w akcji, należy to sprawdzić, jeśli będziesz skończyć chosing tej ramy

+0

Czy wdrażanie i praca są łatwiejsze niż pryzmat/światło? – WhoIsNinja

+0

http://www.japf.fr/silverlight/mvvm/index.html To narzędzie porównawcze pokazuje, że Caliburn micro nie jest dobrym rozwiązaniem, według tego albo Caliburn, albo Light powinno być wyborem. Chociaż nie ma na liście Prism. – WhoIsNinja

+1

Caliburn Micro jest prosty, ale tak naprawdę nie jest podstawową strukturą, jest potężny, ponieważ ma dobre funkcjonalności, MVVM Light jest dość prosty i pomaga zrozumieć wzór. To prawda, że ​​Caliburn Micro nie ma WSZYSTKICH funkcjonalności, jakich kiedykolwiek będziesz potrzebować w MVVVM, ale jest łatwiejszy do poprawienia/rozszerzenia niż pełna wersja Caliburn. To było moje wrażenie, gdy włączyłem kod źródłowy frameworków do mojego projektu, aby mieć nad nim kontrolę, gdybym kiedykolwiek musiał zmodyfikować niektóre zachowania, aby lepiej odpowiadały moim potrzebom, lub zmodyfikować niektóre konwencje. – BFil