‫کتاب اصول برنامه‌نویسی (Foundation of Programming)

کتاب «اصول برنامه‌نویسی» که یک کتاب الکترونیکی ۷۹ صفحه‌ای است، توسط یکی از فعالان CodeBetter منتشر شده. کلیت مطالب کتاب راجع به مفاهیم نسبتاً جدید تولید نرم‌افزار مثل Persistence، DI، DDD، Unit Test و غیره است. نویسنده در ابتدای کتاب اظهار داشته که این کتاب برای پشتیبانی از حرکت ALT.NET نوشته شده است. این کتاب همچون خود ALT.NET بیشتر روی مفاهیم و تکنیک‌ها مانور می‌دهد چون معتقد است برنامه‌نویسان به اندازه کافی به API دات‌نت مسلط شده‌اند پس حالا وقت آن است که اصولی‌تر برنامه بنویسند.

با دیدن بخش‌های اول کتاب ممکن است فکر کنید یک کتاب کلاسیک «مهندسی نرم‌افزار» را باز کرده‌اید. اما کتاب کار زیادی به تئوری ندارد و بلافاصله به مثال‌ها، نمونه‌ها و ابزارهای عملی می‌پردازد. البته واقعیت این است که می‌شود این کتاب را یک کتاب «مهندسی نرم‌افزار» عملی نامید. چون با معرفی تکنیک‌ها، روش‌ها و ابزارهایی به شما کمک می‌کند تا همان اصول فراموش شده «مهندسی نرم‌افزار» را عملاً به کار گیرید.

عناوین فصول کتاب:
۱- ALT.NET: معرفی جبهه ALT.NET و تفاوت آن با MSDN Way
‫‫۲-‫ Domain Driven Design: معرفی الگوی DDD‎
‫۳- ‫Persistence: ارتباط با دیتابیس و ذخیره داده‌ها‎
‫‫۴-‫ Dependency Injection: معرفی و ابزارها‏
۵- Unit Testing: تست واحد
۶- Object Relational Mappers: معرفی و استفاده از NHibernate
۷- کار با Memory به طور اصولی
۸- مدیریت Exceptionها
۹- Proxy و استفاده از آن
۱۰- جمع‌بندی

تاریخ این کتاب ۲۰۰۸ بوده و کمی قدیمی می‌باشد. اما با این وجود خواندن و به کارگیری آن به همه برنامه‌نویسان توصیه می‌شود.

‫ALT.NET و MSDN Way‫

از زمانی که با NHibernate آشنا شدم متوجه یک جبهه جالب در دنیای دات‌نت شدم. جبهه کسانی که علاقه زیادی به port کردن پروژه‌های معروف جاوا به دات‌نت، استفاده از design patternهای شی‌گرایی و دنیای Open Source داشتند. نمونه بارز این جبهه خود NHibernate است. پروژه‌ای کاملاً open source برای تزریق OOP به کدهای دسترسی به دیتابیس بر اساس پروژه جاوایی Hibernate.

چند وقت پیش حین خواندن کتاب Foundation of Programming متوجه شدم که اسم این جبهه ALT.NET است. علایق این جبهه علاوه بر موارد بالا شامل unit test و CI و دیگر موارد مشابه هم می‌شود. طرفداران ALT.NET در عین حالی که روی سکوی دات‌نت متمرکز هستند از مایکروسافت و روش‌های مایکروسافتی گریزان هستند. آنها سعی می‌کنند برای هر تکنولوژی و ابزار مایکروسافتی، یک جایگزین open source ارائه دهند.

در مقابل ALT.NET روش MSDN Way قرار دارد. در روش MSDN Way عمده تمرکز افراد بر استفاده از APIهای تکنولوژی‌های مختلف دات‌نت است. کدهای برنامه‌نویسان MSDN Way شباهت زیادی به نمونه‌های معرفی شده توسط مایکروسافت در MSDN دارد. اصلاً اسم MSDN از همین جا آمده. یکی از نشانه‌های گروه MSDN استفاده از DataSet به جای ORMهاست.

برای کسب اطلاعات بیشتر به فصل اول کتاب Foundation of Programming مراجعه نمایید.

شما خودتان را بیشتر از پیروان ALT.NET می‌دانید یا MSDN Way؟