
عنوان:
Learning Domain-Driven Design
نویسنده:
Vlad Khononov
انتشارات:
O'Reilly Media
تاریخ انتشار:
2021
حجم:
3.9MB
معرفی کتاب:" کتاب یادگیری طراحی دامنهمحور: همراستا کردن معماری نرمافزار با استراتژی کسبوکار — چاپ اول "
ساخت نرمافزار در دنیای امروز، پیچیدهتر از همیشه شده است. یک توسعهدهنده نهتنها باید با روندهای فناورانه بهروز باشد، بلکه لازم است حوزههای کسبوکار پشت نرمافزار را نیز بهدرستی درک کند. این کتاب با ارائهی اصول و الگوهای پایه، شما را در تحلیل حوزههای کسبوکار، شناخت استراتژیهای تجاری و همسوسازی طراحی نرمافزار با نیازهای واقعی یاری میکند.
ویژگیهای کلیدی:
- تحلیل و مدلسازی کسبوکار با روشهای مدرن
- استفاده از ابزارهای طراحی دامنهمحور (DDD)
- بررسی نمونه واقعی از پیادهسازی DDD در یک استارتاپ
معرفی کلی کتاب:
نویسنده کتاب Vlad Khononov با رویکردی کاربردی، نشان میدهد که چگونه طراحی دقیق منطق دامنه میتواند نرمافزاری مقاوم در برابر تغییرات بسازد. شما ارتباط بین DDD و سایر روششناسیهای توسعه نرمافزار را خواهید شناخت و میآموزید چگونه تصمیمات معماری را بر اساس نیازهای واقعی تجاری اتخاذ کنید.
آنچه در این کتاب خواهید آموخت:
- تحلیل حوزه کسبوکار برای درک جایگاه نرمافزار در استراتژی رقابتی شرکت
- استفاده از ابزارهای استراتژیک و تاکتیکی DDD برای طراحی مؤثر
- توسعه درک مشترک از دامنههای مختلف کسبوکار
- تجزیه سیستم به زمینههای محدود (Bounded Contexts)
- مدیریت همکاری تیمها در پروژههای بزرگ و پیچیده
- معرفی تدریجی DDD به پروژههای قدیمی (Brownfield)
مناسب چه کسانی است؟
این کتاب برای توسعهدهندگان نرمافزار، معماران راهکار و تحلیلگران سیستم مناسب است که میخواهند نرمافزارهایی منطبق بر اهداف تجاری طراحی کنند و دانش خود در زمینه DDD را گسترش دهند.
در پایان این کتاب:
توانایی آن را خواهید داشت تا سیستمهای نرمافزاری با طراحی متمرکز بر منطق تجاری بسازید، تصمیمات معماری مؤثر اتخاذ کنید و در پروژههای تیمی با دامنههای گسترده بهصورت حرفهای عمل نمایید.
فهرست مطالب
- Foreword
- Preface
- Introduction
- I. Strategic Design
- Chapter 1. Analyzing Business Domains
- What Is a Business Domain?
- What Is a Subdomain?
- Domain Analysis Examples
- Who Are the Domain Experts?
- Conclusion
- Exercises
- Chapter 2. Discovering Domain Knowledge
- Business Problems
- Knowledge Discovery
- Communication
- What Is a Ubiquitous Language?
- Language of the Business
- Model of the Business Domain
- Conclusion
- Exercises
- Chapter 3. Managing Domain Complexity
- Inconsistent Models
- What Is a Bounded Context?
- Bounded Contexts Versus Subdomains
- Boundaries
- Bounded Contexts in Real Life
- Conclusion
- Exercises
- Chapter 4. Integrating Bounded Contexts
- Cooperation
- Customer–Supplier
- Separate Ways
- Context Map
- Conclusion
- Exercises
- II. Tactical Design
- Chapter 5. Implementing Simple Business Logic
- Transaction Script
- Active Record
- Be Pragmatic
- Conclusion
- Exercises
- Chapter 6. Tackling Complex Business Logic
- History
- Domain Model
- Conclusion
- Exercises
- Chapter 7. Modeling the Dimension of Time
- Event Sourcing
- Event-Sourced Domain Model
- Frequently Asked Questions
- Conclusion
- Exercises
- Chapter 8. Architectural Patterns
- Business Logic Versus Architectural Patterns
- Layered Architecture
- Ports & Adapters
- Command-Query Responsibility Segregation
- Scope
- Conclusion
- Exercises
- Chapter 9. Communication Patterns
- Model Translation
- Integrating Aggregates
- Conclusion
- Exercises
- III. Applying Domain-Driven Design in Practice
- Chapter 10. Design Heuristics
- Heuristic
- Bounded Contexts
- Business Logic Implementation Patterns
- Architectural Patterns
- Testing Strategy
- Tactical Design Decision Tree
- Conclusion
- Exercises
- Chapter 11. Evolving Design Decisions
- Changes in Domains
- Strategic Design Concerns
- Tactical Design Concerns
- Organizational Changes
- Domain Knowledge
- Growth
- Conclusion
- Exercises
- Chapter 12. EventStorming
- What Is EventStorming?
- Who Should Participate in EventStorming?
- What Do You Need for EventStorming?
- The EventStorming Process
- Variants
- When to Use EventStorming
- Facilitation Tips
- Conclusion
- Exercises
- Chapter 13. Domain-Driven Design in the Real World
- Strategic Analysis
- Modernization Strategy
- Pragmatic Domain-Driven Design
- Selling Domain-Driven Design
- Conclusion
- Exercises
- IV. Relationships to Other Methodologies and Patterns
- Chapter 14. Microservices
- What Is a Service?
- What Is a Microservice?
- Domain-Driven Design and Microservices’ Boundaries
- Compressing Microservices’ Public Interfaces
- Conclusion
- Exercises
- Chapter 15. Event-Driven Architecture
- Event-Driven Architecture
- Events
- Designing Event-Driven Integration
- Conclusion
- Exercises
- Chapter 16. Data Mesh
- Analytical Data Model Versus Transactional Data Model
- Analytical Data Management Platforms
- Data Mesh
- Conclusion
- Exercises
- Closing Words
- A. Applying DDD: A Case Study
- B. Answers to Exercise Questions
- References
- Index
مشخصات
نام کتاب
Learning Domain-Driven Design
نویسنده
Vlad Khononov
انتشارات
O'Reilly Media
تاریخ انتشار
2021
ISBN
9781098100131
تعداد صفحات
447
زبان
انگلیسی
فرمت
حجم
3.9MB
موضوع
Domain-Driven Design;Software Architecture