مرزهای نرمافزار وقتی قابلدفاعتر میشوند که مسئلهی کسبوکار روشن باشد. «Learning Domain-Driven Design» نوشتهی ولاد خونونوف، شناخت دامنه، زبان مشترک و انتخاب روش پیادهسازی را به هم وصل میکند تا معلوم شود پیچیدگی در کدام بخش قرار دارد.
مدلها و مرزها
بخشهای اصلی، پشتیبان و عمومی کسبوکار، bounded context و رابطهی بین آنها بررسی میشوند. الگوهایی مثل transaction script، active record، domain model، Event Sourcing، CQRS و saga هم در همین زمینه معرفی میشوند.
تمایز مهم کتاب، تفاوت گزینهی معماری با نیاز واقعی است. منطق ساده میتواند پیادهسازی ساده داشته باشد و مدل پیچیده شاید مرز دقیقتری بخواهد. یک واژه هم ممکن است در دو بخش کسبوکار معنی متفاوت داشته باشد؛ ارتباط بین آن بخشها به ترجمهی روشن نیاز دارد.
چه زمانی مطالعهی آن مفید است؟
وقتی منطق کسبوکار رشد کرده، مسئولیتها مبهماند یا تغییرها وابستگی ناخواسته ایجاد میکنند. فصلهای دامنه و زبان، پیش از ساخت سرویسهای بیشتر، پایهای برای بررسی این مسئلهها میدهند. انتخاب الگو باید با پیچیدگی واقعی کار تناسب داشته باشد.
دریافت کتاب
- O'Reilly: Learning Domain-Driven Design
