
عنوان:
Domain-Driven Design with Golang
نویسنده:
Matthew Boyle
انتشارات:
Packt Publishing
تاریخ انتشار:
2022
حجم:
2MB
معرفی کتاب:" Domain-Driven Design with Golang | یادگیری گامبهگام DDD و طراحی سیستمهای مقیاسپذیر با Go"
معرفی کلی
این کتاب به شما کمک میکند مفهوم Domain-Driven Design (DDD) را عمیقاً درک کنید و دو سیستم مبتنی بر DDD را از صفر بسازید تا آنها را در نمونهکار خود ارائه دهید. Domain-Driven Design یکی از مهارتهای پرتقاضا در صنعت نرمافزار است. در این کتاب، مفاهیم اساسی با توضیحات مرحلهبهمرحله و مثالهای عملی بیان میشوند تا بتوانید DDD را سریع و درست در پروژههای Go بهکار ببندید.
ابتدا درکی پایهای از DDD به دست میآورید و سپس با الگوهای مهمی مانند Bounded Context، Ubiquitous Language و Aggregates آشنا میشوید. در ادامه وارد پیادهسازی واقعی الگوهای DDD میشوید و یاد میگیرید چگونه دو سیستم کامل را با اصول DDD طراحی کنید؛ بخشی ارزشمند برای تقویت رزومه و نمونهکار. همچنین ساخت یک Microservice را تمرین میکنید و میبینید Microserviceهای مبتنی بر DDD چگونه در یک سیستم توزیعشده بزرگتر قرار میگیرند. تمرکز کتاب روی زبان Go است، اما در پایان میتوانید الگوهای DDD را در زبانهای دیگر و در سیستمهای توزیعشده نیز بهکار ببرید.
در طول مطالعه با مفاهیمی مانند Domainها و تکامل DDD، تعامل با ذینفعان برای مدیریت نیازهای پیچیده کسبوکار، درک Bounded Context، سرویسها و Value Objectها، کار با Aggregateها، Factoryها، Repositoryها و سرویسها آشنا میشوید. همچنین میآموزید DDD را در اپلیکیشنهای Monolithic و Microserviceها بهکار بگیرید و الگوهای آن را در سیستمهای توزیعشده پیادهسازی کنید. بخشی دیگر نشان میدهد چگونه میتوان Test-Driven Development (TDD) و Behavior-Driven Development (BDD) را در کنار DDD بهصورت مؤثر بهکار برد.
آنچه در این کتاب خواهید آموخت:
- درک مفاهیم بنیادی DDD و نگاشت آنها به پروژههای Go
- طراحی Bounded Context، تعریف Ubiquitous Language و مدلسازی Aggregateها
- الگوهای پیادهسازی در معماری دامنه: Entity، Value Object، Factory، Repository و Service
- ساخت دو سیستم کامل مبتنی بر DDD برای استفاده در نمونهکار
- بهکارگیری DDD در معماریهای Monolith و Microservices و ادغام در سیستمهای توزیعشده
- بهبود کیفیت طراحی با ترکیب TDD و BDD در کنار DDD
مخاطبان کتاب
این کتاب برای توسعهدهندگان سطح متوسط Go مناسب است که میخواهند مطمئن شوند کدی که مینویسند، علاوه بر قابلیت نگهداری، ارزش تجاری ملموس نیز ایجاد میکند. اگر با Go آشنایی اولیه دارید و به یادگیری یا بهکارگیری Domain-Driven Design علاقهمندید، این کتاب برای شما بسیار مفید خواهد بود.
فهرست مطالب
- Contributors
- About the author
- About the reviewers
- Preface
- Part 1: Introduction to Domain-Driven Design
- Chapter 1: A Brief History of Domain-Driven Design
- The world before DDD
- Eric Evans and DDD
- Three pillars of DDD
- Adoption of DDD
- When should you use DDD?
- Summary
- Further reading
- Chapter 2: Understanding Domains, Ubiquitous Language, and Bounded Contexts
- Technical requirements
- Setting the scene
- Domains and sub-domains
- Ubiquitous language
- Bounded contexts
- Summary
- Further reading
- Chapter 3: Entities, Value Objects, and Aggregates
- Technical requirements
- Working with entities
- Working with value objects
- The aggregate pattern
- Summary
- Further reading
- Chapter 4: Exploring Factories, Repositories, and Services
- Technical requirements
- Introducing the factory pattern
- Implementing the repository pattern in Golang
- Understanding services
- Summary
- Part 2: Real-World Domain-Driven Design with Golang
- Chapter 5: Applying Domain-Driven Design to a Monolithic Application
- Technical requirements
- What do we mean when we say monolithic application?
- Setting the scene
- Getting started with our CoffeeCo system
- Summary
- Further reading
- Chapter 6: Building a Microservice Using DDD
- Technical requirements
- What do we mean by microservices?
- Should my company adopt microservices?
- Setting the scene (again)
- Building a recommendation system
- Revisiting the anti-corruption layer
- Exposing our service via an open host service
- Summary
- Chapter 7: DDD for Distributed Systems
- Technical requirements
- What is a distributed system?
- Distributed system patterns
- Dealing with failure
- What is a message bus?
- Summary
- Further reading
- Chapter 8: TDD, BDD, and DDD
- Technical requirements
- TDD
- BDD
- Summary
- Index
- Other Books You May Enjoy
مشخصات
نام کتاب
Domain-Driven Design with Golang: Use Golang to create simple, maintainable systems to solve complex business problems
نویسنده
Matthew Boyle
انتشارات
Packt Publishing
تاریخ انتشار
2022
ISBN
9781804613450
تعداد صفحات
172
زبان
انگلیسی
فرمت
حجم
2MB
موضوع
Domain-Driven Design