Maurício Aniche

#OOP
#Object_Oriented_Design
#software_design
#C#
#Python
#Java
🚀 کدنویسی شیگرا (OOP) رو جوری انجام بده که هم قابل مدیریت باشه، هم نگهداریش اذیت نکنه و هم در برابر تغییرات آینده کم نیاره.
حفظ سادگی توی طراحیهای شیگرا یه رویکرد خلاقانه میطلبه؛ دقیقاً همون چیزی که توی کتاب Simple Object-Oriented Design پیدا میکنی. این کتاب پر از الگوها و اصولی برای کم کردن پیچیدگیه که همهشون توی سابقه ۲۰ ساله "موریسیو آنیش" توی دنیای توسعه نرمافزار امتحانشون رو پس دادن. اینجا یاد میگیری چطوری با رشد طبیعی پیچیدگی کد مقابله کنی و رویکرد «به اندازه کافی خوب» رو انتخاب کنی تا موقعی که نیازمندیهای پروژه عوض میشه، ریفکتور کردن کد برات مثل آب خوردن باشه.
📑 فهرست مطالب
✨ ویژگیهای کلیدی
• خوانایی و مستندسازی: یاد میگیری چطوری کدی بنویسی که خودش با آدم حرف بزنه.
• ثبات و کپسولهسازی: بهبود انسجام درونی کلاسها و مخفیسازی جزئیات غیرضروری.
• مدیریت وابستگیها و انتزاع: طراحی اینترفیسها و کلاسهای انتزاعی جوری که سیستم انعطافپذیر بمونه.
• زیرساخت و ماژولار سازی: برخورد حرفهای با بخشهای زیرساختی و تکه تکه کردن درست پروژه.
💡 درباره تکنولوژی و کتاب
حتی یه برنامه ساده شیگرا هم وقتی بزرگ میشه، میتونه خیلی سریع پیچیده بشه. هر کلاس یا متد جدید یعنی استیت (State) و انتزاع بیشتر، که اگه حواست نباشه زمانت رو برای باز کردن گرههای کد قدیمی (Legacy) تلف میکنه. این کتاب مجموعهای از تکنیکهای عملیه که توی هر زبان شیگرایی (مثل Java، C# یا Python) میتونی پیادهشون کنی تا کد تمیز و جمعوجوری داشته باشی.
🎯 این کتاب برای چه کسایی مناسبه؟
اگه با یکی از زبانهای شیگرا آشنایی داری و دنبال این هستی که بفهمی طراحی خوب و بد دقیقاً چه فرقی با هم دارن و کجا باید بین سادگی و پیچیدگی سبکسنگین کنی، این کتاب مرجع حیاتی توئه. هدف اینه که بدون پایین اومدن سرعت تحویل فیچرها، کدی بنویسی که گذر زمان رو تاب بیاره.
✍️ درباره نویسنده
دکتر موریسیو آنیش (Maurício Aniche): ایشون لیدر آکادمی تکنولوژی توی شرکت Adyen و استادیار دانشگاه Delft هلنده. موریسیو سالها روی بهرهوری توسعهدهندهها تحقیق کرده و جایزه استاد برتر سال ۲۰۲۱ رو هم برده. خلاصه بگم، هم تئوری رو عالی بلده و هم توی دل صنعت بوده و میدونه چالش واقعی چیه.
Write object-oriented code that’s manageable, maintainable, and future-proof.
Keeping your object-oriented designs simple demands a creative approach—and that’s exactly what you’ll find in Simple Object-Oriented Design. This book is full of patterns and principles for reducing complexity, each one proven in author Mauricio Aniche’s 20-year career in software development. You’ll learn how to tackle code’s natural growth in complexity, and adopt a “good enough” approach that means it’s easy to refactor when requirements change.
You’ll discover insightful principles for:
Learn what constitutes both good and bad object-oriented software design, discover how to make better trade-offs in design decisions, and when to embrace complexity over simpler data structures. With this book as your vital reference, you’ll be ready to write code that will last the test of time, without slowing feature delivery to a crawl.
About the technology
Even a simple object-oriented application can quickly become complex as it evolves. Each new class, method, or feature means more state and abstractions to manage, which in turn increases complexity, maintenance, and time spent detangling legacy code. It takes effort and skill to keep your codebase simple. This book shows you how.
About the book
Simple Object-Oriented Design: Create clean, maintainable applications presents practical design principles you can use to keep an object-oriented codebase simple as it grows and changes. Written as a collection of practical techniques you can apply in any OO language, it offers tips for concise code, managing dependencies and modules, and designing flexible abstractions. Illuminating figures, real-world examples, and insightful exercises make each principle stick.
What's inside
About the reader
Readers should be familiar with an object-oriented language like Java, C#, or Python.
Table of Contents
1. It’s all about managing complexity
2. Making code small
3. Keeping objects consistent
4. Managing dependencies
5. Designing good abstractions
6. Handling external dependencies and infrastructure
7. Achieving modularization
8. Being pragmatic
From the Back Cover:
Simple Object-Oriented Design: Create clean, maintainable applications presents practical design principles you can use to keep an object-oriented codebase simple as it grows and changes. Written as a collection of practical techniques you can apply in any OO language, it offers tips for concise code, managing dependencies and modules, and designing flexible abstractions. Illuminating figures, real-world examples, and insightful exercises make each principle stick.
About the Author
Dr. Maurício Aniche leads the Tech Academy of Adyen, and is also an Assistant Professor in Software Engineering at Delft University of Technology in the Netherlands. He researches on how to make developers more productive during testing and maintenance and his teaching efforts in software testing have awarded him the Teacher of Year 2021 award and the TU Delft Education Fellowship. Maurício holds MSc and PhD degrees in Computer Science from the University of São Paulo, Brazil. He also co-founded Alura, one of the most popular e-learning platforms for software engineers in Brazil.









