Balancing Coupling in Software Design

  • ناشرAddison-Wesley
  • سال انتشار2025
  • ویرایش1
  • زبانEnglish
  • تعداد صفحات321
  • شابک9780137353484

شناسه محصول: SKY-SDX-CODE-A6645 دسته: , ,
برند: Addison Wesley

محدوده قیمت: 803,000 تومان تا 1,936,000 تومان

17 نفر در حال مشاهده این محصول هستند!

تحویل اکسپرس

حمل رایگان سفارشات بالای 1 میلیون تومان

پرداخت امن

امکان پرداخت انلاین یا پرداخت حضروی درب منزل

ضمانت اصالت کالا

امکان پرداخت انلاین یا پرداخت حضروی درب منزل

7 روز گارانتی بازگشت وجه

امکان پرداخت انلاین یا پرداخت حضروی درب منزل

🚀 یاد بگیر که چطور وابستگی (Coupling) روی تک‌تک تصمیمات طراحی نرم‌افزاریت تاثیر میذاره و چطور میشه کنترلش کرد.

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

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

🛠️ ولاد با اصولی که کاملا در عمل تست شدن، بهت یاد میده که نه تنها توی ابعاد مختلف و پیچیده وابستگی‌ها مسیرت رو پیدا کنی، بلکه از خودِ وابستگی به عنوان ابزاری برای مدیریت پیچیدگی و افزایش ماژولاریتی استفاده کنی. و کسی چه می‌دونه، شاید این کتاب کلا طرز فکرت رو درباره طراحی نرم‌افزار عوض کنه.

📑 فهرست مطالب

بخش اول: وابستگی

فصل ۱: وابستگی و طراحی سیستم

فصل ۲: وابستگی و پیچیدگی: کینه‌وین (Cynefin)

فصل ۳: وابستگی و پیچیدگی: تعاملات

فصل ۴: وابستگی و ماژولاریتی

بخش دوم: ابعاد

فصل ۵: وابستگی ماژول در طراحی ساختاریافته

فصل ۶: پیوستگی (Connascence)

فصل ۷: قدرت یکپارچگی

فصل ۸: فاصله

فصل ۹: نوسان

بخش سوم: تعادل

فصل ۱۰: برقراری تعادل در وابستگی

فصل ۱۱: بازنگری در تعادل وابستگی

فصل ۱۲: هندسه فراکتال در طراحی نرم‌افزار

فصل ۱۳: تعادل وابستگی در عمل

فصل ۱۴: نتیجه‌گیری

✨ ویژگی‌های کلیدی

• مفهوم وابستگی و نقشی که در طراحی سیستم و معماری بازی می‌کنه رو تعریف می‌کنه.

• توضیح میده که چطور وابستگی می‌تونه هم پیچیدگی رو بالا ببره و هم باعث بهتر شدن ماژولاریتی سیستم بشه.

• یک مدل جامع معرفی می‌کنه که وابستگی رو به ابزاری برای طراحی نرم‌افزارهای ماژولار تبدیل می‌کنه.

• نشون میده چطور تصمیمات طراحی رو تکامل بدی تا از رشد مداوم سیستم‌های نرم‌افزاری پشتیبانی کنی.

• اصول مورد بحث رو با مثال‌های دقیق بر اساس پروژه‌های واقعی دنیای بیزنس به تصویر می‌کشه.

💬 “وابستگی از اون کلمه‌هاییه که زیاد استفاده میشه ولی کمتر کسی واقعا درکش می‌کنه. ولاد ما رو از شعارهای ساده‌انگارانه‌ای مثل «همیشه اجزا رو از هم جدا کنید» فراتر می‌بره و به سمتی می‌بره که بتونیم بحث دقیقی درباره وابستگی در بستر پیچیدگی و تکامل نرم‌افزار داشته باشیم. اگه نرم‌افزار مدرن می‌سازید، حتما این کتاب رو بخونید!” — گرگور هوپه، نویسنده کتاب آسانسور معمار نرم‌افزار

⭐ نقد و بررسی

“این یکی از جالب‌ترین و باکیفیت‌ترین کتاب‌هایی بود که تا حالا در مورد مهندسی نرم‌افزار خوندم.” — آدام راکیس

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

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

ولاد در فضای رسانه‌ای هم به عنوان سخنران و نویسنده خیلی فعاله. قبل از کتاب تعادل وابستگی در طراحی نرم‌افزار، اون کتاب پرفروش انتشارات اورایلی یعنی یادگیری طراحی دامین‌محور (DDD) رو نوشته. اون یکی از سخنران‌های کلیدی پرطرفداره که در مورد موضوعاتی مثل طراحی دامین‌محور، میکروسرویس‌ها و به طور کلی معماری نرم‌افزار صحبت می‌کنه.

Learn How Coupling Impacts Every Software Design Decision You Make—and How to Control It

If you want to build modular, evolvable, and resilient software systems, you have to get coupling right. Every design decision you make influences coupling, which in turn shapes the design options available to you. Despite its importance, coupling often doesn’t receive the attention it deserves—until now.

Since the dawn of software engineering, it’s been clear that proper management of coupling is essential for architecting modular software systems. This topic has been extensively researched over the years, but some of that knowledge has been forgotten, and some of it is challenging to apply in this day and age. In Balancing Coupling in Software Design, author Vlad Khononov has built a model that not only draws on this accumulated knowledge, but also adapts it to modern software engineering practices, offering a fresh perspective on modular software design.

With principles grounded in practice, Vlad teaches you not only to navigate the multi-dimensional nature of coupling but also to use coupling as a tool for managing complexity and increasing modularity. And who knows, maybe this book will change the way you think about software design as whole.

  • Defines the concept of coupling and the role it plays in system design and architecture
  • Explains how coupling can both increase complexity and foster modularity of a system
  • Introduces a holistic model that turns coupling into a tool for designing modular software
  • Shows how to evolve design decisions to support continuous growth of software systems
  • Illustrates the discussed principles with detailed examples based on real-life case studies

“Coupling is one of those words that is used a lot, but little understood. Vlad propels us from simplistic slogans like ‘always decouple components’ to a nuanced discussion of coupling in the context of complexity and software evolution. If you build modern software, read this book!”

—Gregor Hohpe, author of The Software Architect Elevator

Review

“This is one of the most interesting, high-quality books on software engineering I’ve ever read.” —Adam Rackis

Table of Contents

Part I: Coupling

Chapter 1: Coupling and System Design

Chapter 2: Coupling and Complexity: Cynefin

Chapter 3: Coupling and Complexity: Interactions

Chapter 4: Coupling and Modularity

Part II: Dimensions

Chapter 5: Structured Design’s Module Coupling

Chapter 6: Connessance

Chapter 7: Integration Strength

Chapter 8: Distance

Chapter 9: Volatility

Part III: Balance

Chapter 10: Balancing Coupling

Chapter 11: Rebalancing Coupling

Chapter 12: Fractal Geometry of Software Design

Chapter 13: Balanced Coupling in Practice

Chapter 14: Conclusion

About the Author

Vlad Khononov is a software engineer with extensive industry experience, working for companies large and small in roles ranging from webmaster to chief architect. His core areas of expertise are distributed systems and software design. Vlad consults with companies to make sense of their business domains, untangle monoliths, and tackle complex architectural challenges.

Vlad maintains an active media career as a public speaker and author. Prior to Balancing Coupling in Software Design, he authored the best-selling O’Reilly book Learning Domain-Driven Design. He is a sought-after keynote speaker, presenting on topics such as domain-driven design, microservices, and software architecture in general.

ناشرAddison-Wesley
ویرایش1
زبانEnglish
سال انتشار2025
شابک9780137353484
تعداد صفحات321
قطعB5
کیفیتاورجینال انتشارات
نوع چاپرنگی, سیاه و سفید
نوع جلدجلد سخت, شومیز, طلقی

نقد و بررسی‌ها

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

اولین کسی باشید که دیدگاهی می نویسد “Balancing Coupling in Software Design”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

محدوده قیمت: 803,000 تومان تا 1,936,000 تومان

محصولات مشابه