یکی از خوانندگان عزیز وبلاگ، خانم یا آقای یزدانجو یادداشتی گذاشته بودند که در زیر آوردهام:
«من به تازگی از دانشگاه فارغ التحصیل شدم و به آنالیز وطراحی علاقه مندم. لطفا منو راهنمایی کنید و منابع پیشنهادی تون رو در این زمینه معرفی کنید. ممنون میشم از تجربیات شما استفاده متن.
می خوام تجزیه و تحلیل شی گرا کار کنم. به نظر شما چه کتاب هایی در این زمینه مفید هستد و به چه ترتیبی اونها رو مطالعه کنم»
با وجود آن که پرسش بسیار جالبی پرسیدهاند، اما پاسخ دادن به آن کار دشواری است. هر چند بارها به این پرسش پاسخ دادهام، اما قصد دارم پرسش ایشان را به گونه دیگری پاسخ گویم که نیازمند فرصت و تمرکز است.
برای این که پاسخ این دوست گرامی را بیپاسخ نگذاشته باشم، از خوانندگان عزیز درخواست میکنم در صورتی که میتوانند از تجربیات خود، آقا/خانم یزدانجو و بنده را بهرهمند نمایند.
پیشاپیش از همگی شما سپاسگزارم
گزیده:
Three sentences for getting success: Know moe than other, Work more than other, Expect less than other; William Shakespeare
شاگرد همیشه در صحنه
۲۸ آذر ۱۳۹۰ در ۰۰:۰۰استاد ما راهنمایی های شما را کپی پیس میکنیم
۱- OBJECT-ORIENTED ANALYSIS AND DESIGN
Grady Booch
Rational
Santa Clara, California
۲-Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma (Author), Richard Helm (Author), Ralph Johnson (Author), John Vlissides
۳- Code Compelete Version 2
Steve McConnell
Microsoft Press
———————————–
سلام
ممنون از راهنمایی شما.
مهرداد
امیر جلیلی فرد
۲۹ آذر ۱۳۹۰ در ۰۰:۰۰بهترین کتابی که معرفی میکنم کتاب :
Head First Object-Oriented Analysis and Design
هست. عالیه. واقعا من مدت ها در این فکر بودم که چطور میشه همچین کتابی بوجود بیاد.
محمد
۳ دی ۱۳۹۰ در ۰۰:۰۰یک بار کسی از من این سؤال را پرسید، و از بس کتاب خوب در این باره زیاد است من ماندم چه کتابی را به او توصیه بکنم. به نظر من هر کتابی که مقدماتی باشد و در وبگاه آمازون امتیاز ۴٫۵ به بالا گرفته باشد گزینهی عالیای برای شروع است. مهم این است که در انتخاب منبع مطالعاتی وسواس به خرج ندهید. یک کتاب خوب (مثل همینهایی را که دو نظردهندهی قبلی پیشنهاد کردند. البته برای شروع از کتابهای مقدماتی شروع کنید. Design Patterns زیاد مقدماتی نیست! به عنوان کتاب دوم یا سوم خوب است) را بردارید و شروع کنید با دقت خواندن.
و بگذارید این را هم بگویم که این سؤال نیازی به گرفتن وقت ارزشمند مهندس مهرداد نداشت! کافی بود در آمازون سرچی بکنید و یک کتاب خوب (یعنی کتابی را که در توضیحش گفته باشد مقدماتی است و امتیاز حداقل ۴٫۵ گرفته باشد) را انتخاب کرده، از Library.nu پیدا کنید، دانلود کنید و بخوانید. مهم این است که در انتخاب کتاب زیاد وسواس نداشته باشید وگرنه گیر میکنید و جلو نمیروید. فقط شروعش کنید.
ولی کتاب خواندنتان هم باید باکیفیت باشد، تا چیزی را نفهمیدید از رویش رد نشوید مگر این که بخواهید در آینده به آن برگردید (یعنی خواندنتان iterative incremental باشد). هر کتاب را بعد از یکبار جزئی خواندن، یکی دو بار هم مرور کنید تا مطمئن شوید یک تصویر کلی صحیح و منظم در ذهنتان نقش بسته است.
در کنار کتاب خواندن تمرین کردن عملی را هم فراموش نکنید چون تحلیل و طراحی شیءگرا چیزی نیست که بدون تمرین بتوان یاد گرفت. حتی اگر میتوانید و آشنایی اولیه دارید، اول کمی تمرین کنید و بعد بروید سراغ کتاب خواندن، چون در این صورت موقع کتاب خواندن بهتر دلیل توصیههای کتاب را درک میکنید. مثلاً من دوستی دارم که میگفت وقتی اولین بار با مفهوم الگوی طراحی (Design Pattern) آشنا شد زیاد چیزی از آن سر در نیاورد یا برایش چندان جالب نبود؛ ولی بعد چند سالی رفت کار کرد و پس از آن دوباره برگشت و دربارهی الگوهای طراحی خواند، آن وقت دید که چقدر موضوع برایش آشناست! و موضوع کاملاً برایش جا افتاد. چون به همان مشکلات بارها در عمل برخورد کرده بود و حالا دقیقاً میفهمید الگوهای طراحی چه مشکلی را چگونه حل میکنند.
———————————
سلام
خیلی ممنون از راهنماییهای ارزشمندتان.
شاد باشید
مهرداد
علی یزدانجو
۱۵ دی ۱۳۹۰ در ۰۰:۰۰ممنون از دوستان و راهنمایی هاشون.
قصد من بیشتر از پرسیدن این سوال این بود که تجارب منتقل بشه. حرف محمد آقا قبول دارم که با یه جستجو کلی کتاب میشه پیدا کرد ولی به هر حال دوستان ممکنه بیشتر این کتاب ها رو خونده باشن و منم خوشحال میشم از تحارب شما عزیزان استفاده کنم
با تشکر
یزدانجو
مهدی
۱۶ مهر ۱۳۹۱ در ۰۰:۰۰با سلام،
از شما دوست خوبم تقاضا دارم اول و قبل از اینکه بخواهی تحلیل گر خوبی باشی سعی کن برنامه نویس خوبی باشی. رمز پیشرفت ارائه کیفیت هست و برای رسیدن به آن در تحلیل ابتدا درک بالایی در برنامه نویسی می خواهد.
تحلیل درست از یک business وقتی حاصل میشه که بتونی تعاریف را در یک سیستم به کد تبدیل کنی و تا وقتی کد نویسی انجام نداده باشی نمی توانی این مسائل رو درک کنی.
من کلی توضیخ دادم و اگر دوستان خوبم متوجه توضیح این حقیر نشدند عذر میخواهم.
به امید یک آرزوی خوب.
مهدی حسینی.