۲۸ مطلب با کلمهی کلیدی «MVC 3» ثبت شده است
معرفی ابزار های Net.
بسم الله الرحمن الرحیم
آموزش برنامه نویسی و ابزارهای برنامه نویسی
در ابن بخش چند ابزار کارا را به صورت مختصر معرفی کردم انشالله که برای دوستان مفید واقع شود
Infragistics NetAdvantage for ASP.NET MVC
مجموعه کامل از کنترلهایی ساده و زیبا و پر کاربرد که برای پدید آوردن یک برنامه کاربردی تحت وب مبتنی بر ASP.NET MVC نیاز دارید.
البته نسخه رایگان را در زمان نوشتن مطلب وجود ندارد!
ComponentArt UI Framework 2012
مجموعه ComponentArt UI Framework 2012.1.1016.0 جدیدترین ورژن ComponentArt برای داشتن ظاهری زیبا در برنامه هاست.
مجموعه ی ارزشمند ComponentArt UI Framework 2012.1.1016.0 شامل :
- WebUi for asp.net ajax
- WebUi for asp.net mvc
- WebUi for silverlight
- WinUi for wpf
- SoaUi for .net
مجموعه کامپوننت های قوی شرکت Aspose . با نام Aspose.NET Components را برای طراحان وب و برنامه نویسان ویژوال استدیو و عاشقان زبان های برنامه نویسی ارائه کنیم.
این کامپوننت شامل:
- Aspose.Cells for .NET
- Aspose.Chart
- Aspose.Flash
- Aspose.Pdf.Kit.5.0.0
- Aspose.Recognition
- Aspose.Slides for .NET
- Aspose.Words for .NET
ComponentOne Studio Ultimate 2012 v2 + Enterprise 2012 v2
ComponentOne Studio Ultimate 2012 هفت برنامه بنیادی ، صدها مورد تحت کنترل ، همه و همه تحت یک استودیوی بی نظیر با نام ComponentOne Studio Ultimate جمع آوری شده اند. توسط این مجموعه بی نظیر شما می توانید نرم افزارهایی برای محیط دسکتاپ ، وب و موبایل که کاربرد در زمینه های WinForms, WPF, ASP.NET, Silverlight, iPhone, Mobile و ActiveX دارند را ایجاد کنید. این مجموعه به شما تکنولوژی لازم که برای جذب هر کاربر با هر سلیقه ای نیاز دارید را در اختیار شما قرار می دهد. تمامی نرم افزارهای این مجموعه به روز شده هستند و تحت Net Framework 4.0 قابل اجرا هستند.
قرارداد های MVC
بسم الله الرحمن الرحیم
آموزش ASP.NET MVC
ما در MVC دو نوع قرارداد داریم در نوع اول قرارداد ها اختیاری هستند مثل قراردادن فایلهای تصاویر و.. در پوشه content، در صورتی که اینکار را انجام ندهید هیچ مشکل پیش نخواهد آمد. قرارداد های نوع دوم که به Convention Over Configuration معروف هستند، به این معنی که قرارداد بر پیکربندی ارجحیت دارد در این نوع قرارداد هاکه باعث راحتی کاربر می شود و این روش از Ruby and Rails گرفته شده است؛ شما نیازی ندارید که ارتباط بین کنترلر و View را مشخص نمایید.
کلاس کنترلر با کلمه Controller ختم می شود و route ها یا HTML Helper ها فقط تا قبل از کلمه Controller اسم را می خوانند. Viewها و partial viewها باید در پوشه ای با نام کنترلر خود قرار گیرند، البته باز هم نام کنترلر بدون قسمت Controller آن. نام اکشن ها باید همان نام View ها باشد.
نیاز به ذکر پسوند فایل های View نیست خود موتور مورد استفاده می تواند تشخیص دهد که باید به دنبال چه پسوندی بگردد.(Razor بدنبال cshtml و aspx به دنبال aspx). در زمان جستجو View ها ابتدا بدنبال view های قرار گرفته در پوشه هم نام با کنترلر و سپس در پوشه Shared، بدین معنا که باید viewهایی که چند جا فراخوانی می شوند را دراین پوشه قرار دهید.
برای نام گذاری قالب ها باید نام آن را با کاراکتر underline، "_" شروع کنید و سپس در پوشه Shared قرار دهید. اگر viewایی قالب نداشته باشد به صورت پیش فرض قالب _Layout.cshtml به تمام view ها اعمال می شود این فرایند از طریق فراخوانی در فایل view/_viewStart.cshtml اعمال می شود. اگر می خواهید قالب خودتان را اعمال کنید کافی است دستور زیر را در فایل Layout.cshtml_ بنویسید:
@
{
Layout = “~/Views/Shared/MyLayout.cshtml”;
}
قابلیت Edit and Continue
بسم الله الرحمن الرحیم
آموزش برنامه نویسی
یک قابلیت مناسب وجود دارد برای خطایابی برنامه ها در VS که شاید بعضی دوستان از این قابلیت استفاده نکنند به همین دلیل سعی کردم به صورت کوتاه آن را بیان کنم البته به همکاران انشالله بر نمی خورد شاید کسانی باشند خارج از مجموعه و بخواهند از مطالب استفاده کنند.
این قابلیت اجازه می دهد تا در صورت بر خورد با خطایی آن خطا در مرحله debug بررسی و برطرف و به اجرای برنامه ادامه دهید. برای فعال سازی این قابلیت کافی است از منوی tools گزینه option وسپس در بخش سمت چپ گزینه debugging گزینه edit and continue enable را فعال کنید و سپس ok را بزنید. حال از منوی project گزینه properties را انتخاب نمایید سپس در پنجره باز شد در بخش سمت چپ گزینه web و در نهایت edit and continue enable را فعال کنید.
فقط این قابلیت در همه جا قابل استفاده نیست مثلا در مواردی که از متغییر های نوع dynamic مثل viewbag استفاده می کنید.
معرفی برخی از ابزارهای ALT.Net
بسم الله الرحمن الرحیم
آموزش ابزارهای ALT.Net
این مطلب را برای دوستان تیم طراحی و تست قرار دادم انشالله مفید واقع شود
معرفی برخی از ابزارهای ALT.Net
به ابزارهایی که جهت افزایش کیفیت و ابداع روش های جدید جهت افزایش بهره وری کار تولید می شوند را ALT.NET می گویند.
ابزارهایی که بسیار در تولید و توسعه نرم افزار کارا خواهند بود را معرفی کرده ام و البته در هر مورد چند نمونه ذکر کردم اما مطما تنها کافی است که بهترین را از دیدگاه خود و نیاز های خود انتخاب کنید و در طراحی خود از آن بهره ببرید من شخصا از هر مجموعه تنها یک ابزار را انتخاب و با آن کار می کنم اما بدلایلی چون شاید انتخاب من انتخاب مناسبی برای شما نباشد از مشخص نمودن ابزارهایی که از آنها استفاده می کنم خود داری کرده ام و انتخاب را به عهده خودتان قرار داده ام البته شاید با توجه کردن به مطالب آموزش داده شده در این وبلاگ به انتخاب من نیز پی ببرید:
برنامه های آزمایش واحد
NUnit
xNUnit
فریمورک های Mock
Moq
Rhino Mocks
فریمورک های واگذاری مسئولیت (inversion of control)
Ninject
Autofac
ابزارهای کنترل یکپارچه گیفیت نرم افزار که با عنوانContinuous Integration شناخته می شوند
Cruise Control
Team City
ابزارهای ORM
NHibernate
Subsonic
Entity Framework
توسعه تست محور
بسم الله الرحمن الرحیم
آموزش TDD - توسعه تست محور
این مطلب را برای دوستان تیم طراحی و تست قرار دادم انشالله مفید واقع شود.
توسعه تست محور
برای تست نرم افزار روش های متعددی وجود دارد، من شخصا در پروژه ها از روش Test Driven Development (TDD) یا به عبارتی توسعه تست محور استفاده می کنم این روش در واقع از تفکر Agile منشات می گیرد.
متاسفانه روش TDD و ابزار های موجود در این روش به خوبی با Asp.net Web Form سازگار نیست و ولی باز می توان از این روش استفاده کرد.
دو نوع از این ابزار ها را معرفی خواهم کرد:
ابزار های آزمایش واحد (Unit testing tools)
همانطور که از نام آن مشخص است اجازه می دهد تا کلاس ها، متدها و بخش های مختلف نرم افزار را به صورت جدا بررسی کنید.
اما نکته ای که وجود دارد این است که باید لایه های نرم افزار از هم جدا باشند و در واقع وابستگی به صورت صحیح باشد مبحث وابسگی را قبلا توضیح دادم در صورتی که در این زمینه اطلاعی ندارید مبحث تزریق وابستکی و سایر مباحث Design Pattern را مطالعه نمایید تا بتوانید از این ابزار استفاده نمایید.
متاسفانه بسیاری از دوستان در طراحی نرم افزار به گونه ای عمل می کنند که نرم افزار را نمی توان به صورت بخش های جدا تقسیم و تست نمود که این باعث مشکلات زیادی خواهد شد.
مخصوصا Asp.net Web Form کار ها به دلیل ماهیت خود این تکنولوژی ساختار را به گونه ای تعریف می کنند که بیشتر مواقع منطق را در Event ها قرار می دهند! به هر حال.
ابزار های خودکار سازی محیط
در واقع این نرم افزارها رفتار کاربر را برای کار با نرم افزار شما شبیه سازی می کنند از این نرم افزار ها نیز می توانید در تکنولوژی های مختلف استفاده کنید ولی به محض تغییر ساختار برنامه یا هر رخداد دیگری که باعث شود در شناسایی نرم افزار تغییری ایجاد شود باید مجددا ساختار جدید را معرفی نمایید.
روش BDD) Behavior Driven Design) یا به عبارتی توسعه رفتار محور آخرین روش موجود برای تست نرم افزار است که این روش نیز زیر مجموعه تفکر Agile است.
متدولوژی Domain Driven Design
بسم الله الرحمن الرحیم
این مطلب را برای دوستان طراح قرار دادم انشالله مفید واقع شود
متدولوژی Domain Driven Design
قبل از پرداختن به متدولوژی مربوطه می بایست با چند مبحث آشنا شویم.
Domain Model نمایی کلی از هر آنچه در سیستم می گذرد که قلب یک برنامه MVC است که قسمت های دیگر مثل View,Controller فقط وظیفه ایجاد ارتباط با این قسمت را دارند.
یک Domain Model شامل موارد زیر است:
اجزای سی شارپ مانند کلاس ها، Structها و همانند آنکه در مجموع به آن Domain type گفته می شود.
عملیاتی که در Domain Model انجام می شوند به وسیله متدهایی که در Domain Type تعریف شده اند انجام می پذیرند.
زمانی که نمونه ای از یک Domain Type را که نمایانگر موجودیتی است ایجاد می کنید، در حقیقت در حال ایجاد یک Domain Object هستید.
یک روش خوب برای ایجاد Domain Model ایجاد یک پروژه از نوع Class Library تنها برای Domain Model است بدین ترتیب می توان از قسمت های دیگر پروژه به پروژه ی Domain Model ارجاع داشت.
در Asp.Net MVC سه قابلیت برای کار با Domain Model وجود دارد:
Model Binding: همان ویژگی که در View از آن استفاده می کنید. (ارسال و دریافت پراپرتی ها به صورت یک مدل)
Model Metadata:روشهایی مانند [Display] که در مدل از آن استفاده می کنید.
Validation: اعتبارسنجی که در مدل انجام می دهید.
مدل کردن یک Domain
مدل کردن یک Domain یا Domain Modeling، فرایندی است که در طی آن اهداف و نیازمندی های پروژه شناسایی می شود.
ادامه مطلب...برخی مشکلات تکنولوژی Asp.Net Web Forms
بسم الله الرحمن الرحیم
مطلبی را برای دوستان عزیز در تیم های توسعه و طراحی وب قرار دادم تا با برخی مشکلات مطرح Asp آشنا شوند و همچنین این مشکلات نیز از سویی در MVC حل گردیده و نتیجه آن این است که مطلب زیر معایب Asp و از سویی مزیتهای MVC می باشد انشالله مفید واقع شود.
برخی مشکلات تکنولوژی Asp.Net Web Forms
View State
از View State برای نگه داری وضعیت صفحه در هنگام رد و بدل شدن درخواست و پاسخ بین کلاینت و سرور استفاده می شود. این فیلد به صورت مخفی است و گاهی به دلیل فضای زیادی که اشغال می کند مشکلاتی را به وجود می آورد کسانی که با این تکنولوژی کار کرده اند حتما مثال هایی در ذهن دارند، حجم زیاد این فیلد باعث از بین رفتن پهنای باند و طولانی شدن زمان بارگذاری صفحه می شود
Page Life Time
زمان حیات هر صفحه متفاوت استو گاهی برای اجرای یک درخواست روالهای زیادی فراخوانی می گردد که این موضوع باعث طولانی شدن زمان بارگذاری صفحه می شود و همچنین کد نویسی آن را پیچیده می کند
ادامه مطلب...تاریخچه برنامه های مبتنی بر وب
بسم الله الرحمن الرحیم
تاریخچه برنامه های مبتنی بر وب
بازه انتشار |
نام تکنولوژی |
مزایا |
معایب |
وقتی به دنیا آمدم |
Common Getway Interface (CGI) |
· آسان · انعطاف پذیر · گزینه اول وآخر |
برنامه خارج از وب سرور اجرا می شود و به ازای هر درخواست یک پروسه ایجاد می کند |
زمانی که ما شرکتی هنوز نداشتیم (کودک بودیم) |
Microsoft Internet Database Connector |
در وب سرور اجرا می شود |
فقط واسطه ای که اجابزه انجام دستورات متداول SQL را می دهد |
1996 (زمانی در حال فراگرفتن علوم کامپیوتر بودیم) |
Active Server Page (ASP) |
چند منظوره |
کامپایل وتفسیر دستورات در زمان اجرا کدهای در هم آمیخته (مثل سالاد فصل) |
2002-2003 (شروع کار به صورت مبتدی) |
Asp.Net Web Form 1.0/1.1 |
· کدهای کامپایل شده · کنترل هایی که وضعیت خود را نگه می دارند · امکانات زیاد و زیر ساخت قدرتمند · دیدگاه جدیدی از برنامه نویسی شی گرا |
مصرف زیاد پهنای باند کدهای HTML غیر بهینه سخن بودن تست کد |
2005(تاسیس اولین شرکت) |
Asp.Net Web Form 2.0 |
|
|
2007 (فعالیت به صورت حرفه ای) |
Asp.Net Ajax |
|
|
2008 (تغییر حوزه کاری شرکت ) |
Asp.Net Web Form 3.5 |
|
|
2009 (فعالیت در حوزه و شرکت جدید) |
Asp.Net MVC 1.0 |
|
|
2010 (فراهم کردن بستر و آموزش نیروها) |
Asp.Net Web Form 4.0 Asp.Net MVC 2.0 |
|
|
2011 (به دنبال ایجاد زیرساخت ) |
Asp.Net MVC 3.0
|
|
|
2012 (فراهم کردن بستری حرفه ای) |
Asp.Net MVC 4.0 Asp.Net Web Form 4.0 |
|
|
شد آنچه شد |