A Philosophy of Software Design
John Ousterhout
- ناشرYaknyam Press
- سال انتشار2018
- ویرایش1
- زبانEnglish
- تعداد صفحات226
- شابک9781732102217
593,000 تومان – 1,446,000 تومانمحدوده قیمت: 593,000 تومان تا 1,446,000 تومان
تحویل اکسپرس
حمل رایگان سفارشات بالای 1 میلیون تومان
پرداخت امن
امکان پرداخت انلاین یا پرداخت حضروی درب منزل
ضمانت اصالت کالا
امکان پرداخت انلاین یا پرداخت حضروی درب منزل
7 روز گارانتی بازگشت وجه
امکان پرداخت انلاین یا پرداخت حضروی درب منزل
🚀 این کتاب دقیقاً به موضوع طراحی نرمافزار میپردازه: اینکه چطور سیستمهای نرمافزاری پیچیده رو به ماژولهایی (مثل کلاسها و متدها) تجزیه کنیم که بشه اونها رو به صورت نسبتاً مستقل از هم پیادهسازی کرد. کتاب اول از همه مشکل بنیادی در طراحی نرمافزار، یعنی همان مدیریت پیچیدگی رو مطرح میکنه. بعدش میره سراغ مباحث فلسفی درباره اینکه چطور باید به فرآیند طراحی نرمافزار نگاه کنیم و مجموعهای از اصول طراحی رو ارائه میده که باید حین کار اونها رو به کار بگیری. این کتاب همچنین یکسری ردفلگ یا همان نشانههای خطر رو معرفی میکنه که با دیدنشون میتونی مشکلات طراحی رو تشخیص بدی. تو میتونی ایدههای این کتاب رو پیاده کنی تا پیچیدگی سیستمهای نرمافزاری بزرگ رو به حداقل برسونی و در نتیجه، بتونی نرمافزارها رو سریعتر و با هزینه کمتری بنویسی.
📚 فهرست مطالب
- مقدمه (همه چیز درباره پیچیدگی است)
- ماهیت پیچیدگی
- کد در حال اجرا کافی نیست (برنامهنویسی استراتژیک در مقابل تاکتیکی)
- ماژولها باید عمیق باشند
- پنهانسازی اطلاعات (و نشت اطلاعات)
- ماژولهای عمومی عمیقتر هستند
- لایه متفاوت، انتزاع متفاوت
- پایین کشیدن پیچیدگی
- با هم بودن بهتر است یا جدا بودن؟
- حذف خطاها از ساختار وجودی سیستم
- دو بار طراحی کن
- چرا کامنت بنویسیم؟ چهار بهانه رایج
- کامنتها باید چیزهایی را توصیف کنند که از روی کد واضح نیستند
- انتخاب نامها
- اول کامنتها را بنویس (استفاده از کامنت به عنوان بخشی از فرآیند طراحی)
- تغییر دادن کدهای موجود
- یکپارچگی و ثبات
- کد باید واضح و بدیهی باشد
- ترندهای نرمافزاری
- طراحی برای عملکرد و پرفورمنس
- نتیجهگیری
✍️ درباره نویسنده
👨💻 جان اوسترهوت دانشمند علوم کامپیوتر و استاد دانشگاه استنفورد هست که بیشتر به خاطر مشارکتهاش در توسعه سیستمهای نرمافزاری و زبانهای برنامهنویسی شناخته میشه. اون نویسنده کتاب فلسفه طراحی نرمافزار هست؛ جایی که روی سادگی به عنوان مهمترین اصل در ساخت سیستمهای نرمافزاری بزرگ تاکید میکنه.
💡 اون در طول حرفه آکادمیک و تخصصی خودش در دانشگاه استنفورد، روی کاهش پیچیدگی نرمافزار و آموزش دولوپرها تمرکز داشته تا یاد بگیرن چطور سیستمهایی طراحی کنن که فهم، نگهداری و اسکیل کردنشون راحتتر باشه. کارهای اون به شدت از طراحی ماژولار، انتزاعهای شفاف و به حداقل رساندن لود ذهنی در توسعه نرمافزار دفاع میکنه.
🎯 در کل، فلسفه اوسترهوت حول این ایده میچرخه که کیفیت طراحی نرمافزار بیشتر بر اساس میزان سادگی و قابل فهم بودن اون تعیین میشه، نه اینکه چقدر پر از فیچر یا از نظر فنی پیچیده به نظر برسه.
This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly and cheaply.
Table of Contents
- Introduction (It’s All About Complexity)
- The Nature of Complexity
- Working Code Isn’t Enough (Strategic vs. Tactical Programming)
- Modules Should Be Deep
- Information Hiding (and Leakage)
- General-Purpose Modules are Deeper
- Different Layer, Different Abstraction
- Pull Complexity Downwards
- Better Together Or Better Apart?
- Define Errors Out Of Existence
- Design it Twice
- Why Write Comments? The Four Excuses
- Comments Should Describe Things that Aren’t Obvious from the Code
- Choosing Names
- Write The Comments First (Use Comments As Part Of The Design Process)
- Modifying Existing Code
- Consistency
- Code Should be Obvious
- Software Trends
- Designing for Performance
- Conclusion
About the Author
John Ousterhout is a computer scientist and professor at Stanford University, best known for his contributions to software systems and programming languages. He is the author of A Philosophy of Software Design, where he emphasizes simplicity as the most important principle in building large software systems.
In his academic and professional career at Stanford University, he has focused on reducing software complexity and teaching developers how to design systems that are easier to understand, maintain, and scale. His work strongly advocates for modular design, clear abstractions, and minimizing cognitive load in software development.
Overall, Ousterhout’s philosophy centers on the idea that the quality of software design is determined more by how simple and understandable it is than by how feature-rich or technically advanced it appears.
| ناشر | Yaknyam Press |
|---|---|
| ویرایش | 1 |
| زبان | English |
| سال انتشار | 2018 |
| شابک | 9781732102217 |
| تعداد صفحات | 226 |
| قطع | B5 |
| کیفیت | اورجینال انتشارات |
| نوع چاپ | رنگی, سیاه و سفید |
| نوع جلد | جلد سخت, شومیز, طلقی |
محصولات مشابه

نقد و بررسیها
هنوز بررسیای ثبت نشده است.