۱۳۹۳ دی ۲, سه‌شنبه

ایجاد ViewModel و View برای Caliburn.Micro به روش scaffolding

در صورتی که با فریم ورک Caliburn آشنایی ندارید مستندات آن را مطالعه کنید.
برای شروع ابتدا یک پروژه WPF معمولی بسازید و دستورات زیر را در پنجره Package Manager Console وارد کنید. در صورتی که این پنجره را نمی بینید از منوی View گزینه Other Windows و سپس Package Manager Console را انتخاب کنید.

Install-package Caliburn.Micro.Scaffolder

سپس صبر کنید تا همه پیش نیاز های آن که شامل EntityFramework، Caliburn.Micro، T4Scaffolding و T4Scaffolding.Core است نصب شود.

حالا یک پوشه جدید در پروژه خود بسازید و آن را Models نامگذاری کنید. سپس کلاس جدیدی به نام Person به این پوشه اضافه کنید و کد زیر را به جای کلاس خالی Person قرار دهید:

    public class Person
    {
        public int Id { get; set; }

        public string FullName { get; set; }
    }

پروژه را Build کنید.
اکنون در Package Manager Console فرمان زیر را وارد کنید:

Scaffold Add-ViewAndViewModel Person -Force

و Enter بزنید.
خب با توجه به خروجی ارائه شده باید متوجه شده باشید که چه اتفاقی افتاده. فایل های ViewModel و View متناظر درحالی که یک TextBox در آن قرار دارد و به کمک قائده نامگذاری به FullName در ViewModel متناظر Bind شده، ایجاد شده است.

این Package در واقع نسخه دست کاری شده Caliburn.Micro.Scaffolding است که به آن قابلیت هایی اضافه کرده ام. مثلا ViewModel شما تمامی Property های کلاس Model شما را پیاده سازی می کند. همینطور View تولید شده دارای فیلدهایی Bind شده به ViewModel شماست.
البته باید توجه داشته باشید که کدهای تولید شده جهت استفاده نهایی در پروژه های تجاری شما کامل نیست. مزیت استفاده از Scaffolding در این است که شما مجبور نیستید کدهای خسته کننده تکراری را برای ViewModel ها و طراحی اولیه View را انجام دهید. در عوض، با تولید خودکار این کدها به ازای هر Model، شما فقط به سفارشی کردن ViewModel و View متناظر با آن می پردازید.

هیچ نظری موجود نیست: