Brett D. McLaughlin, Gary Pollice, David West

#OOAD
#OCP
#UML
#SRP
🧩 تحلیل و طراحی شیءگرا به سبک Head First
💬 «کتاب Head First Object-Oriented Analysis and Design نگاهی تازه به موضوع تحلیل و طراحی شیءگرا داره. چیزی که این کتاب رو متمایز میکنه، تمرکز اون روی یادگیریه. نویسندهها محتوای OOAD رو برای متخصصهای عملی، قابلفهم و قابلاستفاده کردهاند.»
— ایوار یاکوبسن، Ivar Jacobson Consulting
💬 «تازه خوندن HF OOA&D رو تموم کردم و عاشقش شدم! چیزی که بیشتر از همه دوست داشتم، تمرکز کتاب روی دلیل انجام OOA&D بود؛ یعنی نوشتن نرمافزار عالی!»
— کایل براون، Distinguished Engineer در IBM
💬 «پشت تصویرهای خندهدار و فونتهای عجیب، یک ارائه جدی، هوشمندانه و فوقالعاده دقیق از تحلیل و طراحی شیءگرا پنهان شده. هنگام خوندن کتاب حس میکردم از روی شانه یک طراح حرفهای به کارش نگاه میکنم که در هر مرحله توضیح میده چه مسئلههایی مهم هستن و چرا.»
— ادوارد سیوره، دانشیار دپارتمان علوم کامپیوتر Boston College
😵 از خوندن کتابهای تحلیل و طراحی شیءگرا خسته شدی که فقط وقتی مفهوم میشن که از قبل متخصص باشی؟ شنیدی که OOA&D میتونه کمکت کنه هر بار نرمافزار فوقالعادهای بنویسی؛ نرمافزاری که رئیست رو خوشحال کنه، مشتریها رو راضی نگه داره و وقت بیشتری برای کارهای موردعلاقهات بهت بده. اما چطور؟
📘 کتاب Head First Object-Oriented Analysis & Design نشون میده چطور نرمافزارهای جدی شیءگرا رو تحلیل، طراحی و پیادهسازی کنی؛ نرمافزارهایی که استفاده مجدد، نگهداری و گسترش اونها راحته، سرت رو به درد نمیارن و اجازه میدن قابلیتهای جدید اضافه کنی، بدون اینکه قابلیتهای قبلی خراب بشن.
🎯 چیزهایی که یاد میگیری
🔒 از اصلهای شیءگرا مثل کپسولهسازی و واگذاری مسئولیت استفاده میکنی تا اپلیکیشنهای انعطافپذیر بسازی
♻️ اصل Open-Closed یا OCP و اصل Single Responsibility یا SRP رو به کار میگیری تا استفاده مجدد از کد راحتتر بشه
🧠 از قدرت Design Patternها استفاده میکنی تا مسئلهها رو سریعتر و مؤثرتر حل کنی
📐 از UML، Use Caseها و دیاگرامها استفاده میکنی تا همه ذینفعها ارتباط روشنی داشته باشن و نرمافزاری تحویل بدی که نیازهای همه رو برآورده کنه
🧠 کتاب با استفاده از شیوه واقعی کارکرد مغز، زمان لازم برای یادگیری و به خاطر سپردن اطلاعات پیچیده رو کمتر میکنه. باید انتظار داشته باشی سرگرم بشی، واقعا یاد بگیری و تا پایان کتاب بتونی بهطور مداوم نرمافزارهای باکیفیت بنویسی.
📖 فهرست مطالب
فصل ۱. اپلیکیشنهای خوشطراحی فوقالعادهاند
فصل ۲. جمعآوری نیازمندیها
فصل ۳. تغییر نیازمندیها
فصل ۴. تحلیل
فصل ۵، بخش اول. طراحی خوب یعنی نرمافزار انعطافپذیر
فصل ۶. حل مسئلههای واقعا بزرگ
فصل ۷. معماری
فصل ۸. اصلهای طراحی
فصل ۹. تکرار و تست
فصل ۱۰. چرخه عمر OOA&D
👤 درباره نویسندگان
👨💻 برت مکلافلین نویسنده پرفروش و برنده جایزه در حوزه آثار غیرداستانیه. کتابهای او درباره برنامهنویسی کامپیوتر، سینمای خانگی و تحلیل و طراحی، بیش از ۱۰۰ هزار نسخه فروش داشتهاند.
✍️ او نزدیک به یک دهه در زمینه نوشتن، ویرایش و تولید کتابهای فنی فعالیت کرده و همونقدر که پشت کامپیوتر و نرمافزارهای نوشتاری راحته، پشت گیتار، هنگام دنبال کردن دو پسر و دخترش در خونه یا تماشای دوباره سریال Arrested Development همراه همسرش هم راحته.
🧠 برت این روزها بیشتر وقت خودش رو صرف نظریههای شناختی و توسعه اصلهای یادگیریای میکنه که مجموعه Head First رو به یک پدیده پرفروش تبدیل کردن. او کنجکاوه بدونه انسانها چطور بهتر یاد میگیرن، چرا Star Wars با وجود ساختار فرمولی موفق شد و چرا یک بازی ویدئویی خوب میتونه یکی از مؤثرترین روشهای یادگیری باشه.
👨🏫 گری پولیس خودش رو آدمی بدخلق و سختگیر معرفی میکنه که بیش از ۳۵ سال در صنعت تلاش کرد بفهمه وقتی بزرگ شد میخواد چه کاره بشه! با اینکه هنوز هم کاملا بزرگ نشده، در سال ۲۰۰۳ وارد محیط دانشگاهی شد و شروع کرد ذهن نسل جدید دولوپرهای نرمافزار رو با ایدههای بهظاهر افراطی تغییر بده؛ ایدههایی مثل اینکه نرمافزار رو برای مشتری بساز، کار تیمی یاد بگیر، کیفیت و زیبایی طراحی و کد اهمیت دارن و Geek بودن اشکالی نداره، بهشرطی که Geek فوقالعادهای باشی.
📚 گری همنویسنده کتاب Head First Object-Oriented Analysis and Design و استاد Practice در Worcester Polytechnic Institute است؛ عنوانی که یعنی قبل از استاد شدن، یک شغل واقعی داشته.
🏫 او WPI رو انتخاب کرد چون در طول سالها از فارغالتحصیلهای این دانشگاه که باهاشون کار کرده بود، خیلی تحتتأثیر قرار گرفت. گری همراه همسرش ویکی و دو سگشون، آلویسیوس و ایگنیشس، در مرکز ماساچوست زندگی میکنه. وقتی مشغول کارهای Geekگونه نیست، در واقع باز هم مشغول کارهای Geekگونه است.
👨💼 دیو وست دوست داره خودش رو یک Geek شیک معرفی کنه، اما متأسفانه بقیه چنین توصیفی ازش ندارن! بیشتر افراد اون رو یک انگلیسی حرفهای میدونن که با شور و انرژی یک واعظ، درباره Best Practiceهای توسعه نرمافزار حرف میزنه.
🏢 دیو بهتازگی به Ivar Jacobson Consulting پیوسته و مدیریت بخش آمریکا رو بر عهده گرفته؛ جایی که میتونه هم درباره توسعه نرمافزار صحبت کنه، هم راگبی و فوتبال رو تبلیغ کنه و هم استدلال کنه که Cricket از Baseball هیجانانگیزتره.
🛠️ پیش از این نقش، دیو چند سال در Rational Software که حالا بخشی از IBM است فعالیت میکرد. او در Rational و بعد IBM نقشهای مختلفی داشت، از جمله مدیر محصول RUP، و ایده Process Pluginها و Agility رو وارد RUP کرد.
💭 دیو هنوز هم دلتنگ روزهاییه که در یک Cubicle در شهر لندن مینشست و نرمافزار مینوشت؛ جایی که معتقده با ساخت سیستمهای بزرگ بیمه و استفاده از یک صفحه سبزرنگ و فلوچارت فرایند، تجربه واقعی خودش رو به دست آورد.
"Head First Object Oriented Analysis and Design is a refreshing look at subject of OOAD. What sets this book apart is its focus on learning. The authors have made the content of OOAD accessible and usable for the practitioner."
--Ivar Jacobson, Ivar Jacobson Consulting
"I just finished reading HF OOA&D and I loved it! The thing I liked most about this book was its focus on why we do OOA&D-to write great software!"
--Kyle Brown, Distinguished Engineer, IBM
"Hidden behind the funny pictures and crazy fonts is a serious, intelligent, extremely well-crafted presentation of OO Analysis and Design. As I read the book, I felt like I was looking over the shoulder of an expert designer who was explaining to me what issues were important at each step, and why."
--Edward Sciore, Associate Professor, Computer Science Department, Boston College
Tired of reading Object Oriented Analysis and Design books that only makes sense after you're an expert? You've heard OOA&D can help you write great software every time-software that makes your boss happy, your customers satisfied and gives you more time to do what makes you happy. But how?
Head First Object-Oriented Analysis & Design shows you how to analyze, design, and write serious object-oriented software: software that's easy to reuse, maintain, and extend; software that doesn't hurt your head; software that lets you add new features without breaking the old ones. Inside you will learn how to:
By exploiting how your brain works, Head First Object-Oriented Analysis & Design compresses the time it takes to learn and retain complex information. Expect to have fun, expect to learn, expect to be writing great software consistently by the time you're finished reading this!
Table of Contents
Chapter 1. Well-Designed Apps Rock
Chapter 2. Gathering Requirements
Chapter 3. Requirements Change
Chapter 4. Analysis
Chapter 5. (Part 1) Good Design = Flexible Software
Chapter 6. Solving Really Big Problems
Chapter 7. Architecture
Chapter 8. Design Principles
Chapter 9. Iterating and Testing
Chapter 10. The OOA&D Lifecycle
Brett McLaughlin is a bestselling and award-winning non-fiction author. His books on computer programming, home theater, and analysis and design have sold in excess of 100,000 copies. He has been writing, editing, and producing technical books for nearly a decade, and is as comfortable in front of a word processor as he is behind a guitar, chasing his two sons and his daughter around the house, or laughing at reruns of Arrested Development with his wife.
Brett spends most of his time these days on cognitive theory, codifying and expanding on the learning principles that shaped the Head First series into a bestselling phenomenon. He's curious about how humans best learn, why Star Wars was so formulaic and still so successful, and is adamant that a good video game is the most effective learning paradigm we have.
Gary Pollice is a self-labeled curmudgeon (that's a crusty, ill- tempered, usually old man) who spent over 35 years in industry trying to figure out what he wanted to be when he grew up. Even though he hasn't grown up yet, he did make the move in 2003 to the hallowed halls of academia where he has been corrupting the minds of the next generation of software developers with radical ideas like, "develop software for your customer, learn how to work as part of a team, design and code quality and elegance and correctness counts, and it's okay to be a nerd as long as you are a great one." Gary is also a co-author of Head First Object-Oriented Analysis and Design.Gary is a Professor of Practice (meaning he had a real job before becoming a professor) at Worcester Polytechnic Institute. He went to WPI because he was so impressed with the WPI graduates that he's worked with over the years. He lives in central Massachusetts with his wife, Vikki, and their two dogs, Aloysius and Ignatius. When not working on geeky things he ... well he's always working on geeky things. You can see what he's up to by visiting his WPI home page at http://web.cs.wpi.edu/~gpollice/. Feel free to drop him a note and complain or cheer about the book.
Dave West would like to describe himself as sheik geek. Unfortunately no one else would describe him in that way. They would say he is a professional Englishman who likes to talk about software development best practices with the passion and energy of an evangelical preacher. Recently Dave has moved to Ivar Jacobson Consulting, where he runs the Americas and can combine his desire to talk about software development and spread the word on rugby and football, and argue that cricket is more exciting that baseball.Before running the Americas for Ivar Jacobson Consulting, Dave worked for a number of years at Rational Software (now a part of IBM). Dave held many positions at Rational and then IBM, including Product Manager for RUP where he introduced the idea of process plug-ins and agility to RUP. Dave still laments the days when he use to sit in a cube and write software in the city of London. This is where he believes he cut his teeth writing big insurance systems with nothing but a green screen and a process flow chart.









