اشتراکها
آینده IOT
مایکروسافت با افزایش سرعت به روز رسانی توسعه پروژههای سورس باز خود جهت پاسخ دادن به نیاز توسعه دهندگان و توسعه ویژوال استادیو مطابق با آخرین تکنولوژیهای تولید وب سایت، میکوشد تعداد بیشتری از توسعه دهندگان را به سمت استفاده از تکنولوژیهای خود سوق دهد.
سالها است که برنامه نویسان خبره با توجه به روش کاری خود از امکانات Code Generatorها برای تولید کدهای لایههای Data Access ، Logic و یا حتی User Interface استفاده مینمایند. پس از عرضه Entity Framework و تولید خودکار کدهای لایه های Data Access و Logic، این بار این امکان علاوه بر ASP.NET MVC در ASP.NET Web Forms نیز فراهم گردیدهاست تا بدون کد نویسی خسته کننده و تکراری، کدهای لایه رابط کاربر (Create-Read-Update-Delete (CRUD را نیز تولید نماییم.
شروع کار با ASP.NET Scaffolding
پیش نیاز این کار استفاده از Visual Studio 2012 به همراه Web Tools 2012.2 میباشد.
- اول، ابزار Microsoft ASP.NET Scaffolding را از منوی Tools گزینه Extensions and Updates دریافت و نصب نمایید.
- دوم پروژه جدیدی از نوع Visual C# ASP.NET Web Forms Application با فریم ورک 4.5 ایجاد نمایید.
- از پنجره NuGet Package manager با دستور install کتابخانه ASP.NET Web Forms Scaffold Generator را دریافت نمایید
install-package Microsoft.AspNet.Scaffolding.WebForms -pre
- کلاس Person را مانند زیر در فولدر Models ایحاد نماییدویژگی ScaffoldColumn را برای ID، برابر false قرار دهید تا از ایجاد این ستون جلوگیری نمائید.
public class Person { [ScaffoldColumn(false)] public int ID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } }
- پروژه را Build نمایید.
- بر روی پروژه راست کلیک و از گزینه Add، گزینه ...Scaffold را انتخاب نمایید.
- از پنجره Add Scaffold باز شده بر روی گزینه Add، کلیک کنید.
- پنجره
Add Web Forms Pages مانند زیر باز میشود که امکان انتخاب کلاس،Data Context و MasterPage فراهم میباشد.
- از گزینه Data Context class گزینه New Data Context را انتخاب نمایید. صفحات مورد نیاز را در فولدر Views/Person ایجاد مینمایید.
- کدهای تولید شده را میتوانید بازبینی نمایید پروژه را اجرا تا خروجی کار را مشاهده نمایید.
- نگارشهای اخیر VS.NET به صورت توکار LESS را پشتیبانی میکنند (از آپدیت دوم VS 2012 به بعد).
- برای SASS فعلا Web Workbench هست. افزونه معروف Web essentials هم به زودی ...
- برای SASS فعلا Web Workbench هست. افزونه معروف Web essentials هم به زودی ...
نظرات مطالب
آشنایی با Refactoring - قسمت 5
- این مسایل رو در پشتیبانی خود آن پروژه مطرح کنید.
- ضمنا (امروز، بعد از 2 سال) نیازی به این افزونه ندارید. خود VS.NET 2012 به صورت توکار حاوی Code Clone Analysis است.
- ضمنا (امروز، بعد از 2 سال) نیازی به این افزونه ندارید. خود VS.NET 2012 به صورت توکار حاوی Code Clone Analysis است.
نظرات مطالب
راهبری در Silverlight به کمک الگوی MVVM
ارجاعی را به اسمبلیهای MVVM Light toolkit اضافه کنید.
Eazfuscator یکی از برنامههای با کیفیت code obfuscation مخصوص دات نت فریم ورک است. این برنامه رایگان بوده و استفاده از آن به سادگی drag & drop فایل dll یا exe برنامه خود بر روی پنجره آن میباشد (یا استفاده از آن از طریق خط فرمان جهت اتوماسیون اینکار)
ویژگیهای آن:
Easy to use as 1-2-3
Automatic code protection with variety of supported obfuscation techniques:
Supports .NET Framework versions 2.0, 3.0 and 3.5
Supports .NET Compact Framework versions 2.0 and 3.5
Supports Silverlight assemblies and XAP packages
Supports XNA applications for Windows, Xbox 360 and Zune platforms
Can obfuscate any 100% managed .NET assembly
Provides revolutionally innovative and easy to use GUI interface as well as classical command line interface
Microsoft Visual Studio integration. Supported versions are Microsoft Visual Studio 2005 and 2008 including Express editions
Supports automatic builds
Automatic code protection with variety of supported obfuscation techniques:
- Symbol renaming
- String encryption
- Constant literals pruning
- Method signatures overload induction
- Class hierarchy linerization
- Code control flow obfuscation
- Assemblies merging
Supports .NET Framework versions 2.0, 3.0 and 3.5
Supports .NET Compact Framework versions 2.0 and 3.5
Supports Silverlight assemblies and XAP packages
Supports XNA applications for Windows, Xbox 360 and Zune platforms
Can obfuscate any 100% managed .NET assembly
Provides revolutionally innovative and easy to use GUI interface as well as classical command line interface
Microsoft Visual Studio integration. Supported versions are Microsoft Visual Studio 2005 and 2008 including Express editions
Supports automatic builds
پ.ن.
بنابر تجربه شخصی با این ابزارها (تجاری و غیرتجاری)، این تنها برنامهای است که جهت code obfuscation اسمبلیهای ASP.Net در محیط کاری مشکل ساز نشده و سایت پس از مدتی با پیغامهای عجیب و غریب از کار نمیافتد.
همان طور که میدانید نسخه 5 (نهایی) از EF به همراه Visual Studio 2012 منتشر خواهد شد (...) و قابلیتهای کلیدی افزوده شده به آن عبارتند از:
بنابراین روند توسعه EF از این پس کاملا قابل پیگیری (و شاید قابل تغییر) است.(...)
قابلیتهای جدیدی که برای EF نسخه 6 در نظر گرفته شده اند عبارتند از:
- پشتیبانی از Enum در هر سه حالت (Database First, Code First, Model First)
- پشتیبانی از Tabel-valued Function در حالت Database First
- پشتیبانی از دادههای جفرافیایی در هر سه حالت (Database First, Code First, Model First)
- افزایش کارائی قابل توجه در LINQ To Entites و Entity SQL (...)
- قابلیت داشتن چند دیاگرام برای یک مدل
- قابلیت ایمپورت دسته ای Stored Procedure ها
بنابراین روند توسعه EF از این پس کاملا قابل پیگیری (و شاید قابل تغییر) است.(...)
قابلیتهای جدیدی که برای EF نسخه 6 در نظر گرفته شده اند عبارتند از:
- بهره گیری از قابلیت async در دات نت 4.5 و معرفی Async Query & Update
public async Task<Store> FindClosestStore(DbGeography location) { using (var context = new StoreContext()) { return await (from s in context.Stores orderby s.Location.Distance(location) select s).FirstAsync(); } }
- پشتیبانی از نگاشت Stored Procedure و Function در حالت Code First
- پشتیبانی از Code First conventions سفارشی (یک کاربرد آن برای جلوگیری از حجم زیاد کد نویسی در هنگام تولید مدل OnModelCreating) (...)
نظرات مطالب
آموزش Prism #1
ممنون.
من از Prism به عنوان بهترین فریم ورک نام نبردم بلکه از عنوان قویترین فریم ورک استفاده کردم
"میتونیم Prism رو به عنوان قویترین فریم ورک برای پیاده سازی پروژهای بزرگ و قوی و ماژولار با تکنولوژی WPF یا Silverlight بنامیم. " که لزوما به معنی بهترین نیست.
MVVM Light در حال حاضر به عنوان محبوبترین فریم ورک برای MVVM است که این محبوبیت بیشتر به خاطر راحتی کار با اون هست.
من از Prism به عنوان بهترین فریم ورک نام نبردم بلکه از عنوان قویترین فریم ورک استفاده کردم
"میتونیم Prism رو به عنوان قویترین فریم ورک برای پیاده سازی پروژهای بزرگ و قوی و ماژولار با تکنولوژی WPF یا Silverlight بنامیم. " که لزوما به معنی بهترین نیست.
MVVM Light در حال حاضر به عنوان محبوبترین فریم ورک برای MVVM است که این محبوبیت بیشتر به خاطر راحتی کار با اون هست.
MVVM Light نظیر Prism هم قابلیت استفاده در WPF را دارد و هم Silverlight (مزیت). MVVM Light راهکار مشخصی برای پیاده سازی پروژههای ماژولار ندارد(منظور Modular Composite Application است) در حالی که Prism برای تولید Modular Composite Applicationها طراحی شده است. برای اینکه بتونید، بعضی از قابلیتها موجود در Prism را برای پروژههای ماژولار شبیه سازی کنید باید از ترکیب MEF و MVVM Light استفاده کنید.
Prism به شما این امکان رو میده که حتی برای Popup Windowها هم Region طراحی کنید(مزیت). با Prism میتونید به راحتی برای یک Command رفتار تعریف کنید(به صورت توکار از Interactionها استفاده میکنه(مزیت)) برای این کار در MVVM Light شما باید از EventToCommandها استفاده کنید که اصلا قابل مقایسه به مباحث Composite Command و Command Behavior نیست.
معادل Messaging در MVVM Light در Prism شما EventAggregatorها رو در اختیار دارید.
Prism به صورت توکار از dependency Injection استفاده میکنه و دو فریم ورک هم به شما پیشنهاد میده یکی MEF و دیگری UnityContainer(مزیت).
Prism به صورت توکار از Composite UI هم پشتیبانی میکند. به تصویر زیر دقت کنید:
به راحتی میتونید با استفاده از RegionManager موجود در Prism نواحی هر صفحه رو تقسیم بندی کنید و هر ناحیه هم میتونه توسط یک ماژول لود شود. برای طراحی و مدیریت صفحات در MVVM Light باید خودتون دست به کار بشید.
یادگیری و استفاده از قابلیتهای MVVM Light در حد دو یا سه روز زمان میبرد در حالی که برای یادگیری قابلیتهای Prism یک کتاب نوشته شده است(^)
*در پایان دوباره تاکید میکنم که اگر نیازی به تولید و توسعه پروژه به صورت ماژولار رو ندارید بهتره که اصلا به Prism فکر نکنید.
معادل Messaging در MVVM Light در Prism شما EventAggregatorها رو در اختیار دارید.
Prism به صورت توکار از dependency Injection استفاده میکنه و دو فریم ورک هم به شما پیشنهاد میده یکی MEF و دیگری UnityContainer(مزیت).
Prism به صورت توکار از Composite UI هم پشتیبانی میکند. به تصویر زیر دقت کنید:
به راحتی میتونید با استفاده از RegionManager موجود در Prism نواحی هر صفحه رو تقسیم بندی کنید و هر ناحیه هم میتونه توسط یک ماژول لود شود. برای طراحی و مدیریت صفحات در MVVM Light باید خودتون دست به کار بشید.
یادگیری و استفاده از قابلیتهای MVVM Light در حد دو یا سه روز زمان میبرد در حالی که برای یادگیری قابلیتهای Prism یک کتاب نوشته شده است(^)
*در پایان دوباره تاکید میکنم که اگر نیازی به تولید و توسعه پروژه به صورت ماژولار رو ندارید بهتره که اصلا به Prism فکر نکنید.