- عنوان کتاب: Domain-Driven Transformation -Modernize Legacy Systems and Mitigate Risk
- نویسنده: Carola Lilienthal, Henning Schwentner
- حوزه: معماری نرمافزار
- سال انتشار: 2026
- تعداد صفحه: 816
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 19.5 مگابایت
«همه خانوادههای شاد مثل هم هستند؛ هر خانوادهی ناراضی به روش خودش ناراضی است.» این اصل آنا کارنینا نه تنها در مورد خانوادهها، بلکه در مورد تیمهای توسعه نرمافزار قدیمی نیز صدق میکند. سیستمهای نرمافزاری مختلف از «بیماریهای» متفاوتی رنج میبرند و از این رو نیاز به درمانهای متنوعی برای درمان همه آنها وجود دارد. ما در سالهای اخیر بیماریهای زیر را در ترکیبات مختلف در سیستمهای قدیمی – چه یکپارچه و چه میکروسرویس – و سازمانهای آنها مشاهده کردهایم: سیستم قدیمی به یک توپ بزرگ گل تبدیل شده است1 زیرا هیچ کس وابستگیها را کنترل نمیکرد و اکنون همه چیز به همه چیز دیگر متصل است (فصل 5). دانش دامنه در یک مدل دامنه عظیم گرفتار شده است که بخشهای آن فقط تا حدی با هم جور میشوند یا حتی با یکدیگر متناقض هستند (مدلهای نامحدود در فصل 12). کد منبع تجاری و کد منبع فنی با هم مخلوط شدهاند و بنابراین جایگزینی فناوری منسوخ یا پسوند دامنه به یک کار بسیار دشوار تبدیل میشود (فصل 8). افراد در یک ساختار تیمی سازماندهی شدهاند که برای پیشرفت سریع نامناسب است (فصل 9). روی جلد این کتاب میتوانید یک پروانه اطلس را ببینید. درست مانند سیستمهای قدیمی در این کتاب، این سیستم نیز از چیزی کوچک (یک تخم مرغ) شروع شده، سپس به چیزی حجیم و دست و پا چلفتی (یک کرم ابریشم) و سپس به یک توپ بزرگ (یک پیله ابریشمی) تبدیل شده و در نهایت به چیزی زیبا تبدیل شده و بالهای خود را برای پرواز به سوی آیندهای امیدوارکننده باز میکند. شباهت دیگر بین حشره و سیستم قدیمی، اندازه است؛ پروانه اطلس یکی از بزرگترین گونههای پروانه در جهان با طول بالهای 9 تا 10 اینچ است. در این کتاب، درمانهایی را برای این بیماریها ارائه میدهیم که در طول 20 سال گذشته با کار با طراحی مبتنی بر دامنه (DDD) و نرمافزار قدیمی آموختهایم. این درمانها عبارتند از: بازسازی، داستانسرایی دامنه، طوفان رویداد، توپولوژیهای تیمی و شاخص بلوغ ماژولاریتی (MMI). وقتی در پروژههای خود و با مشتریانمان به درمان نزدیک میشویم، تیم توسعه مربوطه به طور قابل توجهی مثبتتر به آینده نگاه میکند و انگیزه افزایش مییابد. هرچه روند بهبود بیشتر پیش برود، کاربران، رهبران پروژه و مدیران نیز راضیتر خواهند بود، زیرا نرمافزارهای قدیمی و گرانقیمت، پایدارتر میشوند، سریعتر میتوانند سازگار شوند و در نهایت حتی امکان پیشرفتهای نوآورانه و آیندهنگر را (دوباره) فراهم میکنند.
“All happy families are alike; each unhappy family is unhappy in its own way.” This Anna Karenina principle applies not only to families, but also to legacy software development teams. Different software systems suffer from different “diseases,” and from this comes the need for a variety of remedies to cure them all. We have observed the following diseases in various combinations in legacy systems—whether monoliths or microservices—and their organizations in recent years: The legacy system has become a big ball of mud1 because no one controlled the dependencies and now everything is connected to everything else (Chapter 5). The domain knowledge is entangled into one huge domain model whose parts fit together only partially or even contradict each other (unbounded models in Chapter 12). Business source code and technical source code are mixed, and thus the replacement of obsolete technology or a domain extension becomes a Herculean task (Chapter 8). People are organized in a team structure that is unsuitable for making fast progress (Chapter 9). On the cover of this book you can see an Atlas moth. Just like the legacy systems in this book, it has begun as something small (an egg), then developed into something bulky and clumsy (a caterpillar) and further into a big ball (a silken cocoon), and finally transforms into something beautiful and spreads its wings to fly into a promising future. Another similarity between insect and legacy system is the size; the Atlas moth is one of the largest moth species in the world with a wingspan of 9–10 inches. In this book, we present the treatments for these diseases that we have learned over the past 20 years working with Domain-Driven Design (DDD) and legacy software. These include: refactorings, Domain Storytelling, EventStorming, Team Topologies, and the Modularity Maturity Index (MMI). When we approach the healing in our own projects and with our customers, the respective development team looks significantly more positively into the future and motivation increases. The further the healing progresses, the happier users, project leaders, and managers will also be because the stodgy and expensive legacy software becomes more stable, can be adapted more quickly, and ultimately even allows innovative, forward-looking enhancements (again).
این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:
Download: Domain-Driven Transformation

نظرات کاربران