تبليغاتX
سماموس
 
  صفحه اصلی |  تماس با نویسنده  

 دلم برای نوشتن تنگ شده

شنبه بیست و ششم اسفند 1385
دیرزمانی است که چیزی ننوشته‏ام. پايان سال، فشار كار و هزار بهانه ديگر براي ننوشتن.

از خانم كراري هم خيلي ممنون هستم كه سري به وبلاگ زدند. برايشان در آزمون ورودي دانشگاه آرزوي مؤفقيت دارم.

براي همه عزيزان سال خوبي را آرزو مي‏كنم. اميدوارم سالي بهتر از سالهاي گذشته در پيش داشته باشيد.

تعطيلات خوش بگذرد.

 

  ساعت 14:47 به قلم مهرداد       

 مقالاتي در مورد الگوهاي طراحي(Design Patterns)

شنبه بیست و ششم اسفند 1385
يك سري از مقالات نشريه شيءگرايي در مورد الگوهای طراحی (Design Patterns) را در زير آورده‏ام. مطالعه آنها را توصيه مي‏كنم.


الگو چيست؟ 
تأليف و ترجمه: حميده مطهريان
در اين مقاله به اختصار به تعريف الگوي نرم‏افزاري پرداخته شده است.

تاريخچه الگوهاي طراحي
تأليف و ترجمه: صباالسادات بزرگي
مفهوم الگو براي نخستين بار توسط يك مهندس معمار به نام كريستوفر الكساندر جهت بيان  وقايع و ساختارهاي معماري شهري استفاده شد. پس از آن كه اين مفهوم به دنياي مهندسي نرم‏افزار وارد شد، به عنوان شاخه‏اي مستقل و پركاربرد در آن شناخته شد.
در اين مقاله، تاريخچه اين تحول آورده شده است.

الگوهای طراحی، لزوم، کاربرد و مثال
تأليف و ترجمه: یوسف مهرداد بی‏بالان

دسته‏بندي الگوهاي طراحي
تأليف و ترجمه: صباالسادات بزرگي، نيوشا قريشي، علي‏رضا خيرخواه
از آن جايي كه تعداد الگوهاي طراحي بسيار زياد است، لذا نيازمند روشي براي سازماندهي و دسته بندي آنها هستيم. اين مقاله سعي دارد، دسته‏بندي از الگوها جهت آشنايي سريع‏تر خواننده ارائه دهد.
در اين مقاله علاوه بر دسته‏بندي الگوهاي طراحي  به بررسي اجمالي همراه با ارائه كد نمونه مهم‏ترين الگوهاي طراحي پرداخته شده است.

الگوي طراحي سازگارساز
تأليف و ترجمه: نيوشا قريشي
الگوي طراحي سازگارساز يكي از 23 الگوي طراحي GOF است. اين الگو از جمله الگوهاي ساختاري است كه هم در حوزه كلاسها و هم در حوزه اشياء استفاده مي‏شود. الگوي سازگارساز واسط يك كلاس را به واسط كلاس ديگري به گونه‏اي تبديل مي‏كند كه مورد انتظار مشتري باشد. الگوي سازگارساز امكان همكاري را براي آن دسته از كلاس‏هايي كه به دليل داشتن واسط‏هاي ناسازگار نمي‏توانستند با يكديگر كار كنند، فراهم مي‏كند. در اين مقاله به معرفي الگوي سازگارساز با توجه به قالب GOF پرداخته شده است.

مثالهايي از کاربرد الگوي طراحي سازگارساز
تأليف و ترجمه: نيوشا قريشي، يوسف مهرداد بي‏بالان
پس از بيان مفاهيم كلي و ارائه دسته‏بندي الگوها، جهت واضح شدن بحث به ارائه مثالهاي شهودي از كاربردهاي مختلف الگوها مي‏پردازيم كه قطعا" به درك بهتر مفهوم كمك مي‏نمايد.

معرفي کتابهاي مرتبط با الگوهاي طراحي
تأليف و ترجمه: حميده مطهريان
کتاب‏های گوناگونی در زمينة الگوهای طراحی به چاپ رسيده است که هر يک ويژگی‏های مخصوص به خود را دارد، در اين قسمت سعی شده است که از ميان اين کتابها، آن دسته از کتابهايي که از همه کامل‏تر و جامع‏تر هستند و هم چنين کتابهای مرتبط با آنها معرفی شده و در اختيار علاقمندان قرار گيرد.

  ساعت 14:32 به قلم مهرداد       

 روزی روزگاری مهندس نرم‏افزار خوبي بود كه ...

یکشنبه ششم اسفند 1385
كتاب Object-Oriented Reengineering Patterns از Serge Demeyer, Stéphane Ducasse and Oscar Nierstrasz در نوع خود كتاب جالبي است. در مقدمه اين كتاب داستان خيالي را تعريف شده و  پس از آن ديدگاه نويسندگان آن در مورد مهندسي نرم‏افزار بيان شده است. آوردن مقدمه كتاب از آن جهت مفيد دانستم كه در آن به چند مورد خيلي مهم اشاره شده است كه در حالي كه اشاره به ماهيت مهندسي نرم‏افزار و تفاوت ماهوي آن با ساير گرايشهاي مهندسي دارد، در عين حال بيانگر موضوع بسيار مهمي است: راه حلهاي ما هنوز جواب مسئله‏اي كه با آن روبرو هستيم، نيست(كمي آهسته، كسي نشنود). اين مسئله چيزي نيست جز تغيير و پيچيدگي.

A Fairy Tale

Once upon a time there was a Good Software Engineer whose Customers knew exactly what they wanted. The Good Software Engineer worked very hard to design the Perfect System that would solve all the Customers' problems now and for decades. When the Perfect System was designed, implemented and finally deployed, the Customers were very happy indeed. The Maintainer of the System had very little to do to keep the Perfect System up and running, and the Customers and the Maintainer lived happily every after.

Why isn't real life more like this fairy tale?

Could it be because there are no Good Software Engineers? Could it be because the Users don't really know what they want? Or is it because the Perfect System doesn't exist?

Maybe there is a bit of truth in all of these observations, but the real reasons probably have more to do with certain fundamental laws of software evolution identified several years ago by Manny Lehman and Les Belady. The two most striking of these laws are [Lehm85a]:

  • The Law of Continuing Change:

    A program that is used in a real-world environment must change, or become progressively less useful in that environment.

  • The Law of Increasing Complexity:
          As a program evolves, it becomes more complex, and extra resources are needed to preserve and simplify its structure.

In other words, we are kidding ourselves if we think that we can know all the requirements and build the perfect system. The best we can hope for is to build a useful system that will survive long enough for it to be asked to do something new.

 

  ساعت 21:20 به قلم مهرداد       

 مایکروسافت، گوگل یا یاهو

شنبه پنجم اسفند 1385

اینکه در شرکتهای بزرگ دنیا چگونه کار می‏کنند، براي من هميشه جذاب بوده است، از آن جهت كه مي‏توان از روش كارشان الگوبرداري كرد و سعي كرد چرخ را دوباره اختراع نكنيم. يكي از موضوعاتي كه با دوستان خارج از كشور هميشه مورد بحث و بررسي قرار مي‏دهيم، همين نكته است.

داستان يك كارورز از مايكروسافت، گوگل و ياهو را مطالعه كنيد. نكات جالب و جذاب زيادي در آن بيان شده است.

http://tastyresearch.wordpress.com/work-stories

  ساعت 20:41 به قلم مهرداد