در طراحی فوق در تمام مواقع در لایه سرویس از IUnitOfWork شرح داده شده استفاده میشود؛ که توسط IDbSetهای متناظر با اشیاء در معرض دید EF ، با EF ارتباط برقرار میکند.
بله. این روش طراحی خیلی خوبه؛ برنامه استفاده کننده از نحوه پیاده سازی GetMemberInfo بیخبر است. حالا میخواهد NH باشد یا EF یا هر مورد دیگری. ضمن اینکه این لایه میانی رو که عنوان کردید هم در برنامههای وب میتونه استفاده شود و هم ویندوزی.
بله. بحث DB Migration روی همین مورد تمرکز دارد. جزئیات آن مفصل است. بسیار کاملتر است از نمونه NHibernate و طراحی مهندسی قابل توجهی دارد. شاید توضیحش نیاز به دو جلسه داشته باشد.
ASP.NET MVC طراحی فوق العادهای داره. تقریبا تمام قسمتهای اون قابل تعویض است منجمله View Engine آن. لیستی از موارد پیاده سازی شده رو میتونید اینجا پیدا کنید: (^)
دارم یه چیزی شبیه mvc در asp.net webpages طراحی میکنم که فقط از یک httpHandler استفاده شده. می خواستم با توجه به یک پارامتر در queryString، به طور خودکار کلاس مربوطه ساخته و اجرا شود. فکر کنم راهش همین مطلب شماست.
بله. طراحی ADO.NET مربوط به دات نت یک است و از هیچکدام از پیشرفتهای اخیر بدیهی است که استفاده نمیکند. به همین جهت است که در این کتابخانه ترکیبی از LINQ و قابلیتهای dynamic زبان سی شارپ 4 را مشاهده میکنید.
در استفاده از سیلورلایت 3، ما مجبور شدیم تا تمام کنترلهای مورد نیازمون رو راست به چپ کنیم. سخت بود ولی شد. دو تا هم باهاش سامانه طراحی کردیم و به مشتری تحویل دادیم.
با توجه به اینکه قرار است پایهای را برای ASP.NET MVC طراحی و جمع آوری کنید، همان روش 4 و روش معمول بهتر است پیگیری شود. سایر موارد خارج هستند از چارچوب یک پروژهی پایه.