سفارش تبلیغ
صبا ویژن
1 2 >

وقتی می خواهید کد کمتری داشته باشید از View Model استفاده کنید.
مقید سازی ترکیب شده با INotifyPropertyChanged می تواند شما را از نوشتن کدهای زیاد نجات دهد. استفاده از View Model موجب می شود از ویژگیهای بسیار مفید موجود در Microsoft Expressions Blend بهره مند گردید. View Model همچنین یک الگوی ساده برای پیروی از آن است، بنابراین شما می توانید به سرعت و به راحتی Properties، Collections و ICommands را پیاده سازی کنید.
"کد سفارشی" (کد نویسی) واقعی شما در قسمت "Operations" هایی است که در قسمت View Model وجود دارد. شما می بینید که کد زیادی وجود نداشته و قسمت اعظم آن صرفا جهت فراخوانی Model و تنظیمات Properties در View Model نوشته شده است. در ضمن توجه داشته باشید که وقتی یک شی مانند یک Task  به عنوان Task  جاری انتخاب می شود، هیچ نیازی نیست که هریک از فیلد های موجود در شی Task تفکیک شود و پردازش هر یک از آنها به طور جداگانه انجام شود. ما کل شی Task را میان Model، View Model و View رد و بدل می کنیم.
این که ما می توانیم Property ها، مانند آنچه که در اشیاء سفارشی مانند Task و Visibility وجود داشت، را در View نمایش دهیم بسیار مفید می باشد و نگرانی نحوه پیاده سازی آنها را به طراحان می سپاریم. با فرض اینکه ما طراح هم باشیم، می توانیم از ویژگیهای Drag & Drop نرم افزار Expression Blend به سرعت و با دقت طراحی های مربوط به User Interface را انجام دهیم.
برنامه نویس می تواند صرفاً در نحوه ورود و خروج داده ها در View Model از طریق Model، و به تولید و اجرا درآودن لایه های تجاری تمرکز داشته باشد.
به عقیده من یک برنامه نویس متوجه خواهد شد که ما از ویژگی LESS CODE نهفته در View Model بهره مند شده ایم و اگر از این الگو استفاده نمی شد مطمئناًً با حجم بسیار بیشتر کد نویسی مواجه می شدیم.
حداقل، بسیاری از برنامه نویسانی که من با آنها کار کرده ام، تجربه بسیار لذت بخشی را در بهره مندی از این الگو داشته اند، چون می توانند بر روی منطق رویه ها تمرکز داشته باشند.


نظر() Silverlight ، MVVM ، Expression Blend ،

  

ساخت View


روی colTasks در قسمت Sample Data کلیک کنید . . .


. . . و آن را روی صفحه رها کنید.


با این کار، یک ListBox با نمونه داده ها ایجاد خواهد شد.
نکته: در حال run-time اطلاعات واقعی اطلاعات نمونه نشان داده نخواهد شد.
ادامه مطلب...

اولین دیدگاه را شما بگذارید

  


View Model
CRUD با استفاده از View Model
پوشه ای به نام ViewModels به پروژه ایجاد کرده و کلاسی تحت عنوان MainPageModel.cs به آن اضافه کنید. تمامی کدهای زیر را در آن جایگزین کنید:
ادامه مطلب...

اولین دیدگاه را شما بگذارید Silverlight ، MVVM ، Expression Blend ،

  

Model
CRUD با استفاده از View Model
یک پوشه جدید با نام Models ایجاد کنید و یک کلاس با نام TasksModel.cs در آن قراردهید و کد های زیر را در آن جایگزین کنید.
ادامه مطلب...

اولین دیدگاه را شما بگذارید Silverlight ، MVVM ، Expression Blend ،

  

پروژه Silverlight

CRUD با استفاده از View Model
حالا بریم سراغ پروژه RIATasks  در قسمت Silverlight. ابتدا نیاز هست که یک reference از پروژه Silverlight به web service ای که درست کردیم ایجاد کنیم.
سپس باید یک Model برای فراخوانی وب سرویس ایجاد کنیم و همچنین یک کلاس پشتیبان ICommand ایجاد خواهیم کرد که به این اجازه رو می دهد که به آسانی رویدادها را در View Model بالا بیاوریم.
ادامه مطلب...

اولین دیدگاه را شما بگذارید Silverlight ، MVVM ، Expression Blend ،

  

ایجاد Data Layer
تصویر 20 - CRUD با استفاده از View Model
یک کلاس از نوع Linq to SQL به سایت RIATasks.Web تحت عنوان RIATasksDB.dbml اضافه کنید.
نکته: شما می توانید از Entity Framework به جای Linq to SQL ( یا هر نوع تکنولوژی دیگری که به Data دسترسی دارد) استفاده کنید. دلیل انتخاب Linq to SQL در این پروژه سهولت ایجاد تنظیمات آن می باشد.
ادامه مطلب...

اولین دیدگاه را شما بگذارید Silverlight ، MVVM ، Expression Blend ،

  

ساخت برنامه
شما برای ایجاد برنامه به نرم افزارهای زیر احتیاج دارید:

 

  1. Visual Studio 2010     یا بالاتر
  2. Expression Blend 4  یا بالاتر
  3. SQL Server2005 یا بالاتر

 

تنظیمات مربوط به دیتابیس

تصویر 9 - CRUD با استفاده از View Model

یک دیتابیس جدید تحت RIATasks ایجاد کنید.

تصویر 10 - CRUD با استفاده از View Model
با استفاده از اسکریپت زیر جدولی با نام Tasks ایجاد کنید:
ادامه مطلب...

اولین دیدگاه را شما بگذارید Silverlight ، MVVM ، Expression Blend ،

  

یک مثال ساده از CRUD در Silverlight

تصویر 1 - CRUD با استفاده از View Model
دلیل نوشتن این فایل آموزشی این بود که می دیدم دوستان در رابطه با موضوع این مقاله مشکل داشته و منبع مناسبی (حداقل فارسی) برای این موضوع پیدا نمی کردند. دوستان مطمئناً وقت زیادی را برای آموزش Silverlight سپری کرده اند اما همه می دانیم که کتابهای آموزشی به طور مفصل و عملی این روش ها را آموزش نمی دهند و برای آموزش قدم به قدم آن نیز نیاز به زمان زیادی هست. پس ما یک میانبر برای شما ایجاد کرده ایم.

در ضمن در این مقاله روش استفاده از View Model نیز آموزش داده شده است و بنده اعتقاد دارم که استفاده از این روش میزان کد نویسی شما را کاهش می دهد (که احتمالا شما انتظار آن را نداشتید) به بنده اعتماد کنید. اجازه دهید که شروع کنیم:
ادامه مطلب...

اولین دیدگاه را شما بگذارید Silverlight ، MVVM ، Expression Blend ،

  

مزایای استفاده از الگوی M-V-VM

  • جدا سازی لایه ها از یکدیگر: به این صورت تغییرات صورت گرفته در هر کدام از لایه ها به علت عدم تنیدگی در دیگری، با سهولت بیشتری صورت خواهد گرفت و نگهداری برنامه را در دراز مدت ساده تر خواهد کرد.
  • امکان فعالیت تیمی بهتر : با توجه به جداسازی لایه ها، طراح رابط کاربر و برنام ه نویس ها همزمان می توانند کارهای خویش را انجام دهند (شکل 6).
  • تهیه آزمون های واحد : همیشه تهیه ی آزمون واحد برای UI و کدهای event driven کاری بسیار مشکل است. اما در اینجا ViewModel را به سادگی می توان با کمک آزمون های خودکار بررسی کرد و میزان کدهای View به حداقل ممکن می رسد.
  • پشتیبانی بهتر از چندین View: با توجه به جدا سازی لای ههای مختلف برنامه، امکان تهیه برنامه هایی که به سادگی قابل تبدیل به WPF و یا Silverlight هستند را خواهید داشت. همچنین می توان برای مثال دو View مختلف را ارائه داد به صورتیکه از یک ViewModel استفاده م یکنند و تفاوت آن ها در نحوه ی نمایش و قالب بندی اطلاعات ارائه شده توسط ViewModel است، بدون اینکه نیازی به تکرار کدها در برنامه وجود داشته باشد. به این صورت تغییر و یا تعویض یک View بدون تغییری در کدهای برنامه میسر خواهد شد.
  • سادگی استفاده از کنترل های WPF و Silverlight : کنترل های بصری WPF و Silverlight اساسا جهت کار با این الگو طراحی شد هاند و بسیاری از قابلیت های آن ها با کمک الگوی M-V-VM بهتر نمایان خواهند شد.
  • Blendability : به قابلیت ایجاد و ویرایش داد ههای آزمایشی در زمان طراحی رابط کاربر در Expression Blend ( و یا حتی طراح Visual Studio ) جهت مشاهد هی بهتر و نزدیک به واقعیت View تولید شده گفته م یشود که توسط این الگو بهتر از پیش میسر خواهد شد.
    مدل سازی M-V-VM شکل 7
    شکل شش - یکی از مزایای الگوی M-V-VM امکان کار همزمان طراح رابط کاربر برنامه و برنامه نویس ها در یک تیم است.

ادامه مطلب...

نظر() Silverlight ، MVVM ، Expression Blend ،

  

مشخصات مدیر وبلاگ

محمد محمدی پیروز [33]

دل نوشته ها و تجربه های یک برنامه نویس
ویرایش

لوگوی دوستان



ویرایش

طراحی پوسته توسط تیم پارسی بلاگ