مثال ساده زیر را که در مورد تعریف یک کلاس Disposable و سپس استفاده از آن توسط عبارت using است را به همراه سه استثنایی که در این متدها تعریف شده است، در نظر بگیرید:
using System;
namespace TestUsing
{
public class MyResource : IDisposable
{
public void DoWork()
{
throw new ArgumentException("A");
}
public void Dispose()
{
throw new Argum ...
در گذشته نه چندان دور، کوکیها نقش اصلی را در مدیریت کاربران ، و ذخیره اطلاعات کاربران ایفا میکردند. ولی بعد از کشف شدن باگ امنیتی ( که ناشی از اشتباه برنامه نویس بود ) در کوکی ها، برای مدتی کنار گذاشته شدند و اکثر اطلاعات کاربران در session های سمت سرور ذخیره میشد.ذخیره اطلاعات زیاد و نه چندان مهم کاربران در session های سمت سرور ، بار زیادی را به سخت افزار تحمیل میکرد. بعد از این، برنامه نویسان به سمتی استفاده متعادل از هرکدام اینها ...
اگر به یک سری از کتابخانهها دقت کنید، تمام کلاسهای آنها دارای یک پیشوند تکراری هستند؛ مثلا SmurfXMLDataRow، SmurfXMLElement و الی آخر در مورد تمام کلاسهای موجود در پروژه. به این رویه «Smurf Naming Convention» گفته میشود!
در این نوع کتابخانهها زمانیکه کاربری بر روی دکمهای کلیک میکند، SmurfAccountView اطلاعات SmurfAccountDTO را به SmurfAccountController منتقل میکند. در ادامه از خاصیت SmurfID دریافتی، ...
تعریف :
در این پست قصد دارم در مورد claim که از آن به عنوان یک Abstraction برای شناسایی نام برده شده ، صحبت کنم و گریزی با ارتباط آن با شیرپوینت بزنم . مایکروسافت در جایی Claim را این گونه تعریف کرده بود : یک عبارت که یک شیئ ، آن را در باره خودش یا شیئ دیگری میسازد . Claim یک Abstraction برای شناسایی فراهم میکند . برای مثال میتوان گ ...
یکی دیگر از کاربردهای Action و Func، امکان حذف و بازنویسی switch statements بسیار حجیم و طولانی به نحوی شکیل است؛ و در ادامه این نوع Refactoring را بررسی خواهیم کرد.
در ابتدا مثال زیر را که از یک سوئیچ، برای انتخاب نوع حرکت و اعمال آن استفاده میکند، در نظر بگیرید:
using System;
namespace ActionFuncSamples
{
public enum Direction
{
Up,
Down,
Left,
...
با گسترش استفاده از کامپیوتر در بسیاری از امور روزمره انسانها سازگار بودن برنامهها با سلیقه کاربران به یکی از نیازهای اصلی برنامههای کامپیوتری تبدیل شده است. بدون شک زبان و فرهنگ یکی از مهمترین عوامل در ایجاد ارتباط نزدیک بین برنامه و کاربر به شمار میرود و نقشی غیر قابل انکار در میزان موفقیت یک برنامه به عهده دارد. از این رو در این نوشته تلاش بر آن است تا یکی از سادهترین و در عین حال کاراترین راههای ممکن برای ایجاد برنامههای چند ...
متد System.Math.Round که برای گرد کردن اعداد اعشاری به کار میرود، دارای 8 نوعoverload میباشد، که عدم توجه به موارد مربوط به آن باعث بروز خطا در محاسبات خواهد شد. به طور مثال پیش بینی شما از گرد کردن عدد 3.45 عدد 3.5 است ولی گاهی 3.5 و گاهی 3.4 گرد خواهد شد.
پس بهتر است تا با نکات زیر به شکل دقیق آشنا باشید.
Round(Decimal)
Rounds a decimal value to the nearest integral value.
...
امروزه بازار برنامههای تماما ajax و بدون Postback شدن صفحه بسیار داغ میباشد که از این موارد میتوان به برنامههای تحت وب گوگل اشاره کرد. (gmail ، googlePlus ، Google Reader)
در این میان یکی از دغدغههای توسعه دهندگان وب ، آپلود فایلها به صورت آنی (مثل attach files گوگل) میباشد. برای حل این مسئله ، ابزارها و پلاگینهای متعددی وجود دارد که در اینجا به 10 تا از پلاگینهای Jquery اشاره شده است.
به ...
طراحی API برنامه توسط Actionها
روش مرسوم طراحی Fluent interfaces، جهت ارائه روش ساخت اشیاء مسطح به کاربران بسیار مناسب هستند. اما اگر سعی در تهیه API عمومی برای کار با اشیاء چند سطحی مانند معرفی فایلهای XML توسط کلاسهای سی شارپ کنیم، اینبار Fluent interfaces آنچنان قابل استفاده نخواهند بود و نمیتوان این نوع اشیاء را به شکل روانی با کنار هم قرار دادن زنجیر وار متدها تولید کرد. برای حل ...
شاید خیلی از دوستان (مثل گذشته نه چندان دور خودم ) خیلی بیش از اندازه به برنامه نویسیهای سمت سرور اهمیت می دهند که این کار باعث از دست دادن ، سرعت و سادگی برنامه نویسی سمت کلاینت میشود.
معمولا ما برای کار با خروجیهای XML از کدهای سمت سرور استفاده میکنیم ، بدون اینکه از قدرت جی کوئری در این زمینه اطلاعی داشته باشیم. البته در این مقاله خیلی به پردازش XML توسط جی کوئری نمیپردازیم و کار ...