از زمانی که با NHibernate آشنا شدم متوجه یک جبهه جالب در دنیای داتنت شدم. جبهه کسانی که علاقه زیادی به port کردن پروژههای معروف جاوا به داتنت، استفاده از design patternهای شیگرایی و دنیای Open Source داشتند. نمونه بارز این جبهه خود NHibernate است. پروژهای کاملاً open source برای تزریق OOP به کدهای دسترسی …
مهمترین مسئلهای که در Session management در NHibernate وجود دارد، مسئله نگهداری session است. به طور معمول سعی میشود برای انجام یک کار فقط یک session باز شود نه بیشتر. اگر طی انجام همان کار مجدداً نیاز به session شد از همان session قبلی استفاده میشود نه این که یک session جدید open شود. این …
بعضی وقتها چیزهایی میبینم که حیف میآید برای دوستانم تعریف نکنم. یکی از این چیزها دیتابیس و سیستمی بود که امروز با چشمهای خودم دیدم. در دیتابیس فوقالذکر برای تبدیل تاریخ میلادی به تاریخ شمسی از یک جدول ۵۱ هزار رکوردی استفاده شده بود. این جدول دو ستون داشت. یکی تاریخ میلادی و دیگری تاریخ …
چندین سال قبل کتابی به دستم رسید که بیشتر صفحات آن نیمه خالی بود. در واقع این کتاب چیز زیادی برای خواندن نداشت بلکه بیشتر کتاب تمرین بود. این کتاب به شما کمک میکرد علل رنج خود را دریابید و به آن فکر کنید بدون آن که بخواهد راه حلی برای حل مشکلات ارائه دهد. …
بحث NHibernate Session Management در برنامههای وب اصلاً کار سختی نیست. روتینها و نمونههای زیادی هم در مورد آن وجود دارد. اما انجام همین بحث در Winform و WCF کمی کار میبرد. یکی از بهترین روشها برای مدیریت Session در NHibernate استفاده از الگوی Unit Of Work است. تطبیق این الگو با مدل کاری وب …
فرض کنید تعدادی کلاس سیشارپ را با استفاده از Reflection.Emit در زمان اجرا (Runtime) ساختهاید. این یعنی کلاسها دینامیک بوده و هیچ سورس کدی وجود ندارد، بلکه همه چیز فقط در حافظه وجود دارد یا نهایتاً فایل dll اسمبلی آن را بتوان در دیسک ذخیره کرد. حال میخواهیم برای این کلاسهای دینامیک HBM یا همان …
از همان اولین باری که اسم Fluent NHibernate را شنیدم فکر کردم چیز جالبی نیست. نمیدانم چرا، شاید به خاطر آن که فکر میکردم انعطافپذیری را فدای راحتی کرده یا شاید هم به خاطر غرور low level. طی مدت اخیر که به دنبال راهی برای dynamic کردن entityهای NHibernate بودم خود به خود مجبور شدم …
به غیر از ما، خیلیهای دیگر هم به فکر توسعه برنامههای dynamic با C# و .Net هستند. به عنوان نمونه به تلاش مایکروسافت در نسخههای ۳ و بعد از ۳ داتنت دقت کنید (LINQ و بقیه) یا به کتابهایی مثل Pro Dynamic .NET 4.0 Applications: Data-Driven Programming for the .NET Framework نگاهی بیندازید. آیا واقعاً …
آیا شما هم مشکل نمایش سورس کد در وبلاگ دارید؟ آیا شما هم مجبورید به خاطر یک تیکه کد ساده آن را جایی آپلود کنید تا بقیه بتوانند آن را دریافت کنند؟ آیا دوست دارید با همین تیکه کدهای کوچک هم امکان history و fork داشته باشید؟ آیا کامنت دیگران برایتان مهم است؟ آیا…؟ در …
چند روز است که میخواستم با استفاده از کتابخانه SharpZipLib یک فولدر و ساب فولدرهایش را zip کنم اما نمونه کدهای موجود نمیتوانستند recursive عمل کنند و فقط فایلهای موجود در فولدر را zip میکردند. از طرفی توسعه نمونه کدها هم نیاز به شناخت کاملتری از API کتابخانه داشت. خوشبختانه کمی فضولی در اسمبلی ICSharpCode.SharpZipLib …