۱۸۵ مطلب با موضوع «Web Development Teams» ثبت شده است
متدولوژی 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 |
|
|
شد آنچه شد |
کار با Ninject
بسم الله الرحمن الرحیم
آموزش dependency injection
این مطلب را برای تیم طراحی قرار دادم انشالله دوستان این تیم از آن استفاده نمایند.
چرا Ninject مفید است؟
بخش اعظمی از دست آوردهای به وجود آمده در حوزه نرم افزار از نسخه ابتدایی منتشر شده بدست می آید.
بیشتر زمان سرمایه گذاری شده در بخش تحلیل بعد از شروع به کار نرم افزار هزینه می شود.
باعث می شود تغییرات نرم افزار شما بسیار ساده تر انجام شود.
بعد از استفاده spring.net به مدت طولانی در asp.net به دنبال یک روش ساده تر و سریعتر و نه روشی بر پایه تریق وابستگی به صورت xml بودم. برای برنامه های MVC4 در نهایت به Ninject رسیدم چون رویکرد آن XML ای نیست و ساده است و استفاده از آن راحت است.
چطور تزریق کننده وابستگی را انتخاب کنیم؟
هر تزریق کننده مزایا و معایب خود را دارد و یک سری ویژگی را با خود به همراه دارد.
انتخاب یک تزریق کننده بستگی به مواردی دارد که شما بیشتر نیاز دارید دارد و این موضوع کاملا قابل بررسی است.
Ninject یک تزریق کننده متن باز است که برای NET. به وسیله Nate Kohari تولید شده است و یک سری ابزار مناسب به همراه دارد که همچنین ابزارهایی نیز برای MVC3 در آن قرارداده شده است. به هرحال، اگر شما هم مثل من به دنبال راه جدید هستید Ninject را دوست خواهید داشت.
ساخت یک پروژه MVC
بسم الله الرحمن الرحیم
این دوره آموزشی دارای پیش نیاز می باشد، برای مطالعه پیش نیاز این دوره لطفا مقاله "آموزش WebApi" مطالعه کنید.
مشاهده تمامی آموزش های دوره آموزش Web API
آموزش Web API– سطح پیشرفته
بخش اول– آموزش Web API و ASP.NET MVC و RESTfull
آموزش Web API
برای دوستان عزیز که در تیم های توسعه وب MVC فعالیت می کنند مطلبی را آماده کردم که انشالله مفید واقع شود البته این مطلب برای دوستانی مفید خواهد بود که تازه به جمع شرکت اضافه شده اند و هنوز به MVC مسلط نیستند.
البته دوستان لطفا قبل از شروع به خواندن این مطلب، مطلبی را که در همین بخش با عنوان معرفی Web Api قرار داده ام را مطالعه کنید.
خوب از آنجا که همه دوستان عزیز تیم های توسعه وب Net. با VS 2012 کار می کنند این مثال را با VS 2012 انجام می دهیم برای شروع یک پروژه جدید به صورت Internet Application ایجاد می کنیم.
Entity Framework
ما از EF به صورت Code First برای Data Model استفاده خواهیم کرد. EF Code First اجازه می دهد تا جداول پایگاه داده را تولید کنیم با چیزی بیشتر از چند (Plain Old CLR Objects (POCO. به علاوه EF به ما اجازه می دهد تا از LINQ to Entities و Lambda expressions استفاده کنیم که باعث می شود صدور فرامین و کوئری ها آسان تر گردد.
ادامه مطلب...