View Model
پوشه ای به نام ViewModels به پروژه ایجاد کرده و کلاسی تحت عنوان MainPageModel.cs به آن اضافه کنید. تمامی کدهای زیر را در آن جایگزین کنید:
ادامه مطلب...
Model
یک پوشه جدید با نام Models ایجاد کنید و یک کلاس با نام TasksModel.cs در آن قراردهید و کد های زیر را در آن جایگزین کنید.
ادامه مطلب...
پروژه Silverlight
حالا بریم سراغ پروژه RIATasks در قسمت Silverlight. ابتدا نیاز هست که یک reference از پروژه Silverlight به web service ای که درست کردیم ایجاد کنیم.
سپس باید یک Model برای فراخوانی وب سرویس ایجاد کنیم و همچنین یک کلاس پشتیبان ICommand ایجاد خواهیم کرد که به این اجازه رو می دهد که به آسانی رویدادها را در View Model بالا بیاوریم.
ادامه مطلب...
ایجاد Data Layer
یک کلاس از نوع Linq to SQL به سایت RIATasks.Web تحت عنوان RIATasksDB.dbml اضافه کنید.
نکته: شما می توانید از Entity Framework به جای Linq to SQL ( یا هر نوع تکنولوژی دیگری که به Data دسترسی دارد) استفاده کنید. دلیل انتخاب Linq to SQL در این پروژه سهولت ایجاد تنظیمات آن می باشد.
ادامه مطلب...
ساخت برنامه
شما برای ایجاد برنامه به نرم افزارهای زیر احتیاج دارید:
یک دیتابیس جدید تحت RIATasks ایجاد کنید.
با استفاده از اسکریپت زیر جدولی با نام Tasks ایجاد کنید:
ادامه مطلب...
دلیل نوشتن این فایل آموزشی این بود که می دیدم دوستان در رابطه با موضوع این مقاله مشکل داشته و منبع مناسبی (حداقل فارسی) برای این موضوع پیدا نمی کردند. دوستان مطمئناً وقت زیادی را برای آموزش Silverlight سپری کرده اند اما همه می دانیم که کتابهای آموزشی به طور مفصل و عملی این روش ها را آموزش نمی دهند و برای آموزش قدم به قدم آن نیز نیاز به زمان زیادی هست. پس ما یک میانبر برای شما ایجاد کرده ایم.
در ضمن در این مقاله روش استفاده از View Model نیز آموزش داده شده است و بنده اعتقاد دارم که استفاده از این روش میزان کد نویسی شما را کاهش می دهد (که احتمالا شما انتظار آن را نداشتید) به بنده اعتماد کنید. اجازه دهید که شروع کنیم:
ادامه مطلب...
مزایای استفاده از الگوی M-V-VM
M-V-VM چیست؟
M-V-VM یا Model-View-ViewModel یکی از الگوهای محبوب طراحی رابط کاربر در WPF و Silverlight می باشد که توسط Jhon Gossman از تیم WPF ایجاد شده است و قدرت خود را مدیون توانمندی های BINGING پیشرفته WPF و SILVERLIGHT است. به کمک آن می توان VIEW (یا همان قسمتی از برنامه که کاربر با آن سر و کار دارد) را از کدهای مرتبط با داده ها و منطق برنامه مجزا ساخت. به این صورت در یک تیم افرادی می توانند بر روی VIEW در EXPRESSION BLEND کار کرده و همزمان تعدادی دیگر در VS.NET مشغول تهیه قسمت ViewModel ها باشند.
|
|
شکل یک - نمایی از قرارگیری و نحوه تعامل لایه های مختلف در یک برنامه با الگوی M-V-VM
چگونه می توان کلاس یا متدی و .. بنویسیم که با انواع داده ها کار کند .به طور مثال تابعی بنویسیم که پارامترهای ورودی آن هم از نوع int و هم از نوع float باشد و یا کلاسی بنویسید که هم پارامتر های int را بپذیرد و هم string (یا هر نوع سفارشی مانند اشیایی که شما از کلاسهای سفارشی خود ایجاد می کنید). حتما می خواهید چندین متد یا چندین کلاس بنویسید و یا فکر می کنید باید override کنید .
اینگونه نیست .از زمان اریه dot net 2 چند سالی می گذرد ، اما یکی از قابلیتهایی که در آن زمان اضافه شد Generic ها بود ، که تا به امروز هم استفاده فراوانی دارد ها Generic . ساختار گرامری جدیدی به دات نت اضافه کرده اند .مثلا می توانید یک کلاس کلی بنویسید بدون اینکه مشخص کنید که چه نوع داده ای رامی پذیرد .البته این کل ماجرا نیست بلکه به نظر بنده generic ها پاسخی هستند به برخی از نیازها و سواالات زیر:
سوالات فراوان است اما بنده به همان سه سوال بالا اکتفا می کنم و وارد بحث خواهم شد ، ابتدا تعریف
تعریف generic
یککلاس یا متد و یا اینترفیس و غیره شبیه یککلاس) یا متد و یا اینترفیس و غیره( عادی تعریف می شود ، با این تفاوت که بعد از نام کلاس ، نوع generic مشخص می گردد. نوع داده ای generic بوسیله کلاس می توانند به عنوان نوع داده یک عضو از کلاس یا به عنوان نوع داده پارامتری متدها استفاده شوند.
http://s1.picofile.com/alaalawi/Documents/oop/generic.pdf.html
عناوین یادداشتهای وبلاگ
بایگانی
دسته بندی موضوعی