უფრო მოქნილი და სრულია, ვიდრე MVVM Light
ბაინდინგისთვის და ქომანდებისთვის გამოიყენება ე.წ. შეთანხმებები, მაგ. თუ View-ში გვაქვს <Button x:Name="DoJob"/> და ViewModel-ში მეთოდი DoJob, მაშინ კნოპკაზე დაჭერის დროს გამოიძახება ეს მეთოდი, (ეს მუშაობს ელემენტების default ივენტებზე, თუმცა სხვა ივენტებზე მიბმაც შეიძლება, ქომანდებში ჯენერიკ პარამეტრების გამოყენებაც შეიძლება). ან თუ View-ში გვაქვს <TextBlock x:Name="MyText"/> და ViewModel-ში პროპერტი MyText, მაშინ ეს ტექსტბოქსი ავტომატურად მიებმება ამ პროპერტის, და ა.შ. ამ ლოგიკის მოდიფიცირებაც შეიძლება.
თუ შეთანხმებების გამოყენება არ გვინდა, სტანდარტული ბაინდინგიც მუშაობს (Text={Binding MyText} ..)
აქვს IoC (MVVM Light-ს არ აქვს),
შეიძლება გამოიყენო View-First ან ViewModel-First
ბევრ კლასში შიდა მეთოდები გარეთ არის გამოტანილი დელეგატი პროპერთების სახით, ანუ ფაქტიურად კლასის შიდა ლოგიკა შეიძლება განავრცო/ჩაანაცვლო და დანარჩენი ფანტაზიის საქმეა
აქვს WindowManager (აღარ მახსოვს ზუსტად რა ჰქვია) ფანჯრების და დიალოგების ცენტრალიზებულად სამართავად,
აქვს Messaging , თან ჯენერიკებით... და კიდევ უამრავი რაღაცა, ისე რომ რეკომენდაციას ვუწევ ორი ხელით
არის კიდევ საკუთრივ caliburn, მაგრამ როგორც ავტორი წერს, მისი ფუნქციების 90% caliburn.micro-შიცაა
პს:
http://msdn.microsoft.com/en-us/magazine/dd419663.aspx სტატია MVVM-ს ავტორისაგან
This post has been edited by Crypto on 14 Sep 2011, 23:19