در این پست با یکی از کاربرد های Delegate ها که منجر به کاهش حجم کد می شود آشنا خواهیم شد.
کلاس زیر را فرض کنید:
public class XmlHandler
{
public void Modifier1()
{
const string fileToLoad = "XmlFile.xml";
var document = XDocument.Load(fileToLoad);
// logic 1
document.Save(fileToLoad);
}
public void Modifier2()
{
const string fileToLoad = "XmlFile.xml";
var document = XDocument.Load(fileToLoad);
// logic 2
document.Save(fileToLoad);
}
public void Modifier3()
{
const string fileToLoad = "XmlFile.xml";
var document = XDocument.Load(fileToLoad);
// logic 3
document.Save(fileToLoad);
}
}
اما در کلاس بالا کد تکراری وجود دارد. یکی از راه های حذف این کد های تکراری، استفاده از delegate ها است. کلاس زیر، نمونه بهینه شده کلاس بالا با استفاده از delegate ها است.
public class XmlHandler
{
public void Modifier1()
{
Modifier(document => // logic 1);
}
public void Modifier2()
{
Modifier(document => // logic 2);
}
public void Modifier3()
{
Modifier(document => // logic 3);
}
private void Modifier(Action
{
const string fileToLoad = "Employee.xml";
var document = XDocument.Load(fileToLoad);
logic(document);
document.Save(fileToLoad);
}
}
موفق باشید.
با یه خبر اومدم برای تمامی افرادی که در زمینه توسعه نرم افزار فعالیت دارند. با توجه به نیاز روز افزون جامعه به سیستم های نرم افزاری و فعالیت های IT، به همراه جمعی از دوستان بر آن شدیم تا پایگاهی را در این زمینه ایجاد کنیم. این پایگاه با نام DevHandler به زودی در دسترس تمام عزیزان قرار خواهد گرفت. در حال حاضر این پایگاه در حال توسعه می باشد.
با آروزی موفقیت تمامی دوستان.
ماه محرم اومد و ایام شهادت بزرگ مردی از مردان تاریخ، امام حسین (ع) که نامش یاد آور بزرگی و آزادگی است، این ایام رو به تمام دوستان عزیز تسلیت می گم و امیدارم که همگی ما حسینی زندگی کنیم، حسین رو بشناسیم و حسینی بیمیریم، شناحتن حسین خون و آزادگی، نه حسین اشک و گریه. حسینی که تمام زندگی و داشته هاش رو برای هدف و ایمانش فدا کرد و درسی که امام حسین به بشریت داد بزرگترین میراث بشریته. پس بیایید نه فقط در ماه محرم، بلکه در تک تک لحظه ها و ثانیه های عمرمون حسینی وار زندگی کنیم، چون مسئولیتی که به گردن ما هست مسئولیت سنگینیه و اگر از زیر این مسئولیت شونه خالی کنیم بزرگترین ظلم رو در حق حسین و خاندانش کردیم، همانطور که دکتر علی شریعتی گفته:
هر انقلاب دو وجه دارد، خون و پیام،
کسانی که شهید شدند کاری حسینی کردند و کسانی که ماندند باید کاری زینبی کنند، وگرنه یزیدی اند.
موفق و موید باشد.
سلام به دوستان عزیز.
بخش آموزشی LINQ در سایت دات نت سورس با مطالب جدید به روز رسانی شد. همچنین فایل PDF مقالات آموزشی داخل سایت قرار گرفت. دوستان می تونن برای مطالعه مطالب آموزشی و همچنین دریافت فایل PDF به آدرس زیر مراجعه کنند:
آموزشی LINQ - مقدماتی تا پیشرفته
باید این و بدونیم که هر شکست پله ای برای رسیدن به موفقیه. هر چی شکست بزرگ تر باشه، پله ای که از این شکست جلوی پامون قرار میگیره به هدف نزدیکترمون می کنه. پس بیایید با هر مشکل کوچیک یا حتی بزرگی دست از تلاش بر نداریم و از آرمان ها و اهدافمون دست نکشیم. همیشه یادمون باشه وقتی دری بسته میشه، در بهتری به رومون قراره باز بشه
خدا گر ز حکمت ببندد دری ----- زرحمت گشاید در بهتری
همیشه یادمون باشه تو بدترین شرایط خدا هست که میشه بهش تکیه کرد.
در آخر مطلبی میزارم در همین مورد که به نظر من خیلی جالب بود (البته منبع رو نمی دونم که نذاشتم)
وقتی اوضاع خراب میشه،
وقتی راهی که داری میری انگار همش سر بالاییه،
وقتی دخل و خرجت با هم نمی خونه،
وقتی میخوای لبخند بزنی ولی بی اختیار آه می کشی،
وقتی داری زیر بار مسئولیت خم میشی،
اگه لازمه استراحت کن
ولی تسلیم نشو!
زندگی پیچ و خم عجیب و غریبی داره
همه ما دیگه اینو فهمیدیم.
خیلی وقت ها که فکر می کنی داری شکست می خوری
اگه مقاوت کنی ورق بر می گرده.
تسلیم نشو!
حتی اگه سرعتت خیلی کم باشه
شاید باید یه ضربه دیگه به هدف بزنی.
موفقیت همون شکسته که پشت و رو شده
مهتابه که پشت ابر تردید مونده
هیچوقت نمی تونی بگی چقدر بهش نزدیک شدی
ممکنه خیلی نزدیک باشه ولی به نظر دور برسه.
پس دست از تلاش نکش
حتی وقتی شدیدترین ضربه رو می خوری.
وقتی اوضاع انگار از همیشه بدتره
همون وقتیه که نباید تسلیم بشی!
موفق و پایدار و سربلند باشید.
همونطور که توی پست قبلی گفته بودم، ارائه ای در مورد معماری سرویس گرا داشتم و بر اساس قولی که داده بودم اسلاید های ارائه رو برای دانلود میزارم. امیدوارم مورد استفاده دوستان قرار بگیره.
لینک دانلود:
http://rapidshare.com/files/302687846/Presentation.rar.html
فعلا" به خدا میسپارمتون.
بعد از مدتی (البته یه خورده طولانی) به سرم زد بیام وبلاگ و آپدیت یا همون Update یا به قول معروف به روز رسانی کنم. البته خیلی سخته!!!!!!
ساعت ۱۲:۳۵ دقیقست. حسابی خستم، فردا دانشگاه ارائه دارم و تازه تونستم اسلاید و واسه فردا آماده کنم. خداییش اسلاید درست کردن کار سختیه، ولی عجب اسلایدی شد. خودم کلی با اسلاید خودم حال کردم! (خلی بده آدم از خودش اینقدر تعریف کنه! نه؟؟؟) موضوعی که باید در بارش ارائه بدم SOA یا همون معماری سرویس گرای خودمونه، مبحث خیلی پیچیده ولی شیرینیه. خلاصه که مطالب و آماده کردم و فردا باید برم وسط گود. شما هم واسم دعا بفرمائید.![]()
بریم سر اصل مطلب. امروز داشتم با علی (منظورم همون دایی علیه دیگه، دایی بزرگوار بنده که البته 4 سال از خودم کوچیکتره
) در مورد رفتن صحبت می کردم. شاید بپرسید کجا؟ منظورم اونور آبه. یه جا غیر از اینجا. به احتمال خیلی زیاد آمریکا یا کانادا. می خوام تو DV Lottery شرکت کنم. اگه زد و به اسممون در اومد که چه بهتر، کی بدش میاد!!!!!! ولی اگه تا چندین سال آینده به اسمم در نیومد، میرم کانادا که بعد از اونجا یه راهی پیدا کنم واسه بقیش. خیلی ها هم بهم القابی زیبایی مانند وطن فروش، غرب زده!!!!! و امثالهم نسبت میدند. (البته علی جون نه ها، خیلی پایست، شاید یه روز دوتایی، نه ببخشید 4 تایی (منظورم با همسران گرامی هست) زدیم به دیار غربت). ولی اشکالی نداره، من پوستم کلفت تر از این حرفاست. البته دلایلی که دارم خیلی محکمه، مثلا":
1. جایی که مثل ایران اینقدر قانون مند نباشه! (شما از افعال معکوس استفاده کنید!)![]()
2. جایی که مثل ایران مردمش واسه چندر غز پول سر همدیگه رو کلاه نزارن و به هم دروغ نگن.
3. جایی که بتونم رشد کنم. از نظر علمی مخصوصا" که خیلی واسم مهمه![]()
4. جایی که به آزادی های اولیه یک انسان ارزش داده بشه.![]()
5. جایی که بتونم تو یه دانشگاه درست حسابی درس بخونم (البته اگه بهتر از دانشگاه آزاد بتونم گیر بیارم!!!!!!!!!!خدا کنه مسئولین دانشگاه نخونن
)
و ... که اگه بخوام همش و نام ببرم یه لیست بلند بالا میشه.
خلاصه این قدر مقدمه چینی کردم که بگم از این به بعد مطالبی در مورد آموزش زبان شیرین انگلیسی (البته به شیرینی زبان فارسی نمیشه ها، این و جدی میگم) تو وبلاگ خواهم گذاشت. اگه در مورد مهاجرت و مسائلی از این قبیل مطالبی داشتم هم واستون میزارم که اگه شما ها هم خدای نکرده، زبنوم لال، بلا به دور، قصد رفتن و دارید ازشون استفاده کنید.
راستی اسلاید ها رو هم بعد از ارائه تو دانشگاه واستون میزارم که به قول معروف استفاده کنید، بعلاوه سایر مطالب مربوطه. خوب ساعت ۱۲:۴۹ دقیقه شد. دیگه عرضی ندارم!!!!! تا مطلب بعدی همگی رو به خدای بزرگ میسپارم. (می سپارم). گود بای ![]()
آموزش LINQ
حسین احمدی
تاپیک آموزشی LINQ در سایت دات نت سورس با مطالب جدید به روز رسانی شد. دوستان می تونند از طریق آدرس زیر مقاله رو مطالعه کنند.
http://p2p.dotnetsource.com/Default.aspx?g=posts&t=7098
کلیه حقوق مطالب این مقاله متعلق به سایت دات نت سورس و نویسنده می باشد و استفاده از مطالب با ذکر نام نویسنده و منبع بلامانع است.
