0
نام کتاب
A Philosophy of Software Design

John Ousterhout

Paperback226 Pages
PublisherYaknyam Press
Edition1
LanguageEnglish
Year2018
ISBN9781732102217
1K
A699
انتخاب نوع چاپ:
جلد سخت
767,000ت
0
جلد نرم
637,000ت
0
طلق پاپکو و فنر
657,000ت
0
مجموع:
0تومان
کیفیت متن:اورجینال انتشارات
قطع:B5
رنگ صفحات:سیاه و سفید
پشتیبانی در روزهای تعطیل!
ارسال به سراسر کشور

#Software_Design

توضیحات

🚀 این کتاب دقیقاً به موضوع طراحی نرم‌افزار می‌پردازه: اینکه چطور سیستم‌های نرم‌افزاری پیچیده رو به ماژول‌هایی (مثل کلاس‌ها و متدها) تجزیه کنیم که بشه اون‌ها رو به صورت نسبتاً مستقل از هم پیاده‌سازی کرد. کتاب اول از همه مشکل بنیادی در طراحی نرم‌افزار، یعنی همان مدیریت پیچیدگی رو مطرح میکنه. بعدش می‌ره سراغ مباحث فلسفی درباره اینکه چطور باید به فرآیند طراحی نرم‌افزار نگاه کنیم و مجموعه‌ای از اصول طراحی رو ارائه میده که باید حین کار اون‌ها رو به کار بگیری. این کتاب همچنین یک‌سری ردفلگ یا همان نشانه‌های خطر رو معرفی میکنه که با دیدن‌شون می‌تونی مشکلات طراحی رو تشخیص بدی. تو می‌تونی ایده‌های این کتاب رو پیاده کنی تا پیچیدگی سیستم‌های نرم‌افزاری بزرگ رو به حداقل برسونی و در نتیجه، بتونی نرم‌افزارها رو سریع‌تر و با هزینه کمتری بنویسی.


📚 فهرست مطالب

  1. مقدمه (همه چیز درباره پیچیدگی است)
  2. ماهیت پیچیدگی
  3. کد در حال اجرا کافی نیست (برنامه‌نویسی استراتژیک در مقابل تاکتیکی)
  4. ماژول‌ها باید عمیق باشند
  5. پنهان‌سازی اطلاعات (و نشت اطلاعات)
  6. ماژول‌های عمومی عمیق‌تر هستند
  7. لایه متفاوت، انتزاع متفاوت
  8. پایین کشیدن پیچیدگی
  9. با هم بودن بهتر است یا جدا بودن؟
  10. حذف خطاها از ساختار وجودی سیستم
  11. دو بار طراحی کن
  12. چرا کامنت بنویسیم؟ چهار بهانه رایج
  13. کامنت‌ها باید چیزهایی را توصیف کنند که از روی کد واضح نیستند
  14. انتخاب نام‌ها
  15. اول کامنت‌ها را بنویس (استفاده از کامنت به عنوان بخشی از فرآیند طراحی)
  16. تغییر دادن کدهای موجود
  17. یکپارچگی و ثبات
  18. کد باید واضح و بدیهی باشد
  19. ترندهای نرم‌افزاری
  20. طراحی برای عملکرد و پرفورمنس
  21. نتیجه‌گیری


✍️ درباره نویسنده

👨‍💻 جان اوسترهوت دانشمند علوم کامپیوتر و استاد دانشگاه استنفورد هست که بیشتر به خاطر مشارکت‌هاش در توسعه سیستم‌های نرم‌افزاری و زبان‌های برنامه‌نویسی شناخته میشه. اون نویسنده کتاب فلسفه طراحی نرم‌افزار هست؛ جایی که روی سادگی به عنوان مهم‌ترین اصل در ساخت سیستم‌های نرم‌افزاری بزرگ تاکید میکنه.

💡 اون در طول حرفه آکادمیک و تخصصی خودش در دانشگاه استنفورد، روی کاهش پیچیدگی نرم‌افزار و آموزش دولوپرها تمرکز داشته تا یاد بگیرن چطور سیستم‌هایی طراحی کنن که فهم، نگهداری و اسکیل کردن‌شون راحت‌تر باشه. کارهای اون به شدت از طراحی ماژولار، انتزاع‌های شفاف و به حداقل رساندن لود ذهنی در توسعه نرم‌افزار دفاع میکنه.

🎯 در کل، فلسفه اوسترهوت حول این ایده می‌چرخه که کیفیت طراحی نرم‌افزار بیشتر بر اساس میزان سادگی و قابل فهم بودن اون تعیین میشه، نه اینکه چقدر پر از فیچر یا از نظر فنی پیچیده به نظر برسه.



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

  1. Introduction (It's All About Complexity)
  2. The Nature of Complexity
  3. Working Code Isn't Enough (Strategic vs. Tactical Programming)
  4. Modules Should Be Deep
  5. Information Hiding (and Leakage)
  6. General-Purpose Modules are Deeper
  7. Different Layer, Different Abstraction
  8. Pull Complexity Downwards
  9. Better Together Or Better Apart?
  10. Define Errors Out Of Existence
  11. Design it Twice
  12. Why Write Comments? The Four Excuses
  13. Comments Should Describe Things that Aren't Obvious from the Code
  14. Choosing Names
  15. Write The Comments First (Use Comments As Part Of The Design Process)
  16. Modifying Existing Code
  17. Consistency
  18. Code Should be Obvious
  19. Software Trends
  20. Designing for Performance
  21. 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.

دیدگاه خود را بنویسید
نظرات کاربران (0 دیدگاه)
نظری وجود ندارد.
کتاب های مشابه
Software Engineering
1,512
Modern Software Engineering
610,000 تومان
Software Engineering
1,089
Team Geek
509,000 تومان
Software Engineering
874
Software Engineering
1,774,000 تومان
Software Engineering
1,163
Become an Effective Software Engineering Manager
815,000 تومان
Software Engineering
639
Responsible Software Engineering
517,000 تومان
Software Engineering
999
The Essence of Software Engineering
596,000 تومان
Software Engineering
313
Elements of Electromagnetics
2,252,000 تومان
Software Engineering
1,157
x86 Software Reverse-Engineering, Cracking, and Counter-Measures
708,000 تومان
Software Engineering
1,039
Software Engineering for Games in Serious Contexts
692,000 تومان
Software Engineering
700
Engineering Leadership: The Hard Parts
637,000 تومان
قیمت
منصفانه
ارسال به
سراسر کشور
تضمین
کیفیت
پشتیبانی در
روزهای تعطیل
خرید امن
و آسان
آرشیو بزرگ
کتاب‌های تخصصی
هـر روز با بهتــرین و جــدیــدتـرین
کتاب های روز دنیا با ما همراه باشید
آدرس
پشتیبانی
مدیریت
ساعات پاسخگویی
درباره اسکای بوک
دسترسی های سریع
  • راهنمای خرید
  • راهنمای ارسال
  • سوالات متداول
  • قوانین و مقررات
  • وبلاگ
  • درباره ما
چاپ دیجیتال اسکای بوک. 2024-2022 ©