![Learning Domain-Driven Design Vlad Khononov - okładka ebooka](https://static01.helion.com.pl/global/okladki/326x466/e_267q.png)
![Learning Domain-Driven Design Vlad Khononov - tył okładki ebooka](https://static01.helion.com.pl/global/okladki-tyl/326x466/e_267q.png)
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 342
- Dostępne formaty:
-
ePubMobi
Opis ebooka: Learning Domain-Driven Design
Building software is harder than ever. As a developer, you not only have to chase ever-changing technological trends but also need to understand the business domains behind the software. This practical book provides you with a set of core patterns, principles, and practices for analyzing business domains, understanding business strategy, and, most importantly, aligning software design with its business needs.
Author Vlad Khononov shows you how these practices lead to robust implementation of business logic and help to future-proof software design and architecture. You'll examine the relationship between domain-driven design (DDD) and other methodologies to ensure you make architectural decisions that meet business requirements. You'll also explore the real-life story of implementing DDD in a startup company.
With this book, you'll learn how to:
- Analyze a company's business domain to learn how the system you're building fits its competitive strategy
- Use DDD's strategic and tactical tools to architect effective software solutions that address business needs
- Build a shared understanding of the business domains you encounter
- Decompose a system into bounded contexts
- Coordinate the work of multiple teams
- Gradually introduce DDD to brownfield projects
Wybrane bestsellery
-
Ta książka zawiera opis podstawowych wzorców, zasad i praktyk przydatnych podczas analizy dziedzin biznesowych, ułatwiających zrozumienie ich strategii i dostosowanie architektury do potrzeb biznesu, aby umożliwić zbudowanie solidnej implementacji logiki biznesowej. Omówiono tu narzędzia i techni...
Koncepcja Domain-Driven Design. Dostosowywanie architektury aplikacji do strategii biznesowej Koncepcja Domain-Driven Design. Dostosowywanie architektury aplikacji do strategii biznesowej
(47.40 zł najniższa cena z 30 dni)47.40 zł
79.00 zł(-40%) -
Język modelowania UML i będące jego częścią diagramy UML odgrywają ważną rolę w inżynierii oprogramowania. Stanowią komunikacyjny pomost podczas pracy zespołowej i w kontaktach zarówno z menedżerami, jak i klientami biznesowymi, niekoniecznie zorientowanymi w procesach projektowych i deweloperski...
UML. Kurs video. Projektowanie diagramów i modelowanie systemów w teorii i praktyce UML. Kurs video. Projektowanie diagramów i modelowanie systemów w teorii i praktyce
(58.04 zł najniższa cena z 30 dni)83.85 zł
129.00 zł(-35%) -
Głębokie sieci neuronowe mają niesamowity potencjał. Osiągnięcia ostatnich lat nadały procesom uczenia głębokiego zupełnie nową jakość. Obecnie nawet programiści niezaznajomieni z tą technologią mogą korzystać z prostych i niezwykle skutecznych narzędzi, pozwalających na sprawne implementowanie p...
Uczenie maszynowe z użyciem Scikit-Learn, Keras i TensorFlow. Wydanie III Uczenie maszynowe z użyciem Scikit-Learn, Keras i TensorFlow. Wydanie III
(107.40 zł najniższa cena z 30 dni)107.40 zł
179.00 zł(-40%) -
Dave Thomas i Andy Hunt napisali pierwsze wydanie tej wpływowej książki w 1999 roku, aby pomóc swoim klientom tworzyć lepsze oprogramowanie i na nowo odnaleźć radość z kodowania. Nauki płynące z tamtego wydania pomogły wielu pokoleniom programistów zbadać istotę rozwoju oprogramowania, niezależni...
Pragmatyczny programista. Od czeladnika do mistrza. Wydanie II Pragmatyczny programista. Od czeladnika do mistrza. Wydanie II
(46.20 zł najniższa cena z 30 dni)46.20 zł
77.00 zł(-40%) -
O tym, ile problemów sprawia niedbale napisany kod, wie każdy programista. Nie wszyscy jednak wiedzą, jak napisać ten świetny, „czysty” kod i czym właściwie powinien się on charakteryzować. Co więcej – jak odróżnić dobry kod od złego? Odpowiedź na te pytania oraz sposoby tworzen...(47.40 zł najniższa cena z 30 dni)
47.40 zł
79.00 zł(-40%) -
This book explores the potential of ChatGPT-powered chatbots and conversational AI. You'll delve into understanding the technology, its implementation, and practical use cases, while leveraging AI-powered conversations.
ChatGPT for Conversational AI and Chatbots. Learn how to automate conversations with the latest large language model technologies ChatGPT for Conversational AI and Chatbots. Learn how to automate conversations with the latest large language model technologies
(92.88 zł najniższa cena z 30 dni) -
This book will help you understand key security principles and how they are implemented with Spring Security. You’ll also gain an in-depth understanding of Spring Security's new features applied to servlet and reactive Spring applications.
Spring Security. Effectively secure your web apps, RESTful services, cloud apps, and microservice architectures - Fourth Edition Spring Security. Effectively secure your web apps, RESTful services, cloud apps, and microservice architectures - Fourth Edition
-
Are you ready to be a part of the AI revolution? This book guides you through the concepts and steps you'll need to quickly add the latest and best AI models and features to your applications with real-world examples using Microsoft Semantic Kernel.
Building AI Applications with Microsoft Semantic Kernel. Easily integrate generative AI capabilities and copilot experiences into your applications Building AI Applications with Microsoft Semantic Kernel. Easily integrate generative AI capabilities and copilot experiences into your applications
O autorze ebooka
Vladik (Vlad) Khononov jest inżynierem oprogramowania od ponad 15 lat. Specjalizuje się w projektowaniu dziedzinowym dla firm z wielu branż i chętnie dzieli się swoim bogatym doświadczeniem. Często występuje podczas branżowych konferencji, takich jak O’Reilly Software Architecture, DDD Europe i NDC, a także działa na rzecz grup Domain-Driven Design Israel i Tel Aviv Software Architecture. Mieszka w północnym Izraelu z żoną i (prawie) rozsądną liczbą kotów.
Kup polskie wydanie:
Koncepcja Domain-Driven Design. Dostosowywanie architektury aplikacji do strategii biznesowej
- Autor:
- Vlad Khononov
39,50 zł
79,00 zł
(39.50 zł najniższa cena z 30 dni)
Ebooka "Learning Domain-Driven Design" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Learning Domain-Driven Design" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Learning Domain-Driven Design" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-10-981-0008-7, 9781098100087
- Data wydania ebooka:
-
2021-10-08
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 11.3MB
- Rozmiar pliku Mobi:
- 19.7MB
Spis treści ebooka
- Foreword
- Preface
- Why I Wrote This Book
- Who Should Read This Book
- Navigating the Book
- Example Domain: WolfDesk
- Conventions Used in This Book
- Using Code Examples
- OReilly Online Learning
- How to Contact Us
- Acknowledgments
- Introduction
- I. Strategic Design
- 1. Analyzing Business Domains
- What Is a Business Domain?
- What Is a Subdomain?
- Types of Subdomains
- Core subdomains
- Complexity
- Sources of competitive advantage
- Core subdomains
- Generic subdomains
- Supporting subdomains
- Types of Subdomains
- Comparing Subdomains
- Competitive advantage
- Complexity
- Volatility
- Solution strategy
- Identifying Subdomain Boundaries
- Distilling subdomains
- Subdomains as coherent use cases
- Focus on the essentials
- Domain Analysis Examples
- Gigmaster
- Business domain and subdomains
- Core subdomains
- Generic subdomains
- Supporting subdomains
- Business domain and subdomains
- Design decisions
- Gigmaster
- BusVNext
- Business domain and subdomains
- Core subdomains
- Generic subdomains
- Supporting subdomains
- Business domain and subdomains
- Design decisions
- Who Are the Domain Experts?
- Conclusion
- Exercises
- 2. Discovering Domain Knowledge
- Business Problems
- Knowledge Discovery
- Communication
- What Is a Ubiquitous Language?
- Language of the Business
- Scenarios
- Consistency
- Ambiguous terms
- Synonymous terms
- Model of the Business Domain
- What Is a Model?
- Effective Modeling
- Modeling the Business Domain
- Continuous Effort
- Tools
- Challenges
- Conclusion
- Exercises
- 3. Managing Domain Complexity
- Inconsistent Models
- What Is a Bounded Context?
- Model Boundaries
- Ubiquitous Language Refined
- Scope of a Bounded Context
- Bounded Contexts Versus Subdomains
- Subdomains
- Bounded Contexts
- The Interplay Between Subdomains and Bounded Contexts
- Boundaries
- Physical Boundaries
- Ownership Boundaries
- Bounded Contexts in Real Life
- Semantic Domains
- Science
- Buying a Refrigerator
- Conclusion
- Exercises
- 4. Integrating Bounded Contexts
- Cooperation
- Partnership
- Shared Kernel
- Shared scope
- Implementation
- When to use shared kernel
- Cooperation
- CustomerSupplier
- Conformist
- Anticorruption Layer
- Open-Host Service
- Separate Ways
- Communication Issues
- Generic Subdomains
- Model Differences
- Context Map
- Maintenance
- Limitations
- Conclusion
- Exercises
- II. Tactical Design
- 5. Implementing Simple Business Logic
- Transaction Script
- Implementation
- Its Not That Easy!
- Lack of transactional behavior
- Distributed transactions
- Implicit distributed transactions
- When to Use Transaction Script
- Transaction Script
- Active Record
- Implementation
- When to Use Active Record
- Be Pragmatic
- Conclusion
- Exercises
- 6. Tackling Complex Business Logic
- History
- Domain Model
- Implementation
- Complexity
- Ubiquitous language
- Implementation
- Building Blocks
- Value object
- Ubiquitous language
- Implementation
- When to use value objects
- Value object
- Entities
- Aggregates
- Consistency enforcement
- Transaction boundary
- Hierarchy of entities
- Referencing other aggregates
- The aggregate root
- Domain events
- Ubiquitous language
- Domain services
- Managing Complexity
- Conclusion
- Exercises
- 7. Modeling the Dimension of Time
- Event Sourcing
- Search
- Analysis
- Source of Truth
- Event Store
- Event Sourcing
- Event-Sourced Domain Model
- Advantages
- Disadvantages
- Frequently Asked Questions
- Performance
- Deleting Data
- Why Cant I Just?
- Conclusion
- Exercises
- 8. Architectural Patterns
- Business Logic Versus Architectural Patterns
- Layered Architecture
- Presentation Layer
- Business Logic Layer
- Data Access Layer
- Communication Between Layers
- Variation
- Service layer
- Terminology
- When to Use Layered Architecture
- Ports & Adapters
- Terminology
- Dependency Inversion Principle
- Integration of Infrastructural Components
- Variants
- When to Use Ports & Adapters
- Command-Query Responsibility Segregation
- Polyglot Modeling
- Implementation
- Command execution model
- Read models (projections)
- Projecting Read Models
- Synchronous projections
- Asynchronous projections
- Challenges
- Model Segregation
- When to Use CQRS
- Scope
- Conclusion
- Exercises
- 9. Communication Patterns
- Model Translation
- Stateless Model Translation
- Synchronous
- Asynchronous
- Stateless Model Translation
- Stateful Model Translation
- Aggregating incoming data
- Unifying multiple sources
- Model Translation
- Integrating Aggregates
- Outbox
- Fetching unpublished events
- Outbox
- Saga
- Consistency
- Process Manager
- Conclusion
- Exercises
- III. Applying Domain-Driven Design in Practice
- 10. Design Heuristics
- Heuristic
- Bounded Contexts
- Business Logic Implementation Patterns
- Architectural Patterns
- Testing Strategy
- Testing Pyramid
- Testing Diamond
- Reversed Testing Pyramid
- Tactical Design Decision Tree
- Conclusion
- Exercises
- 11. Evolving Design Decisions
- Changes in Domains
- Core to Generic
- Generic to Core
- Supporting to Generic
- Supporting to Core
- Core to Supporting
- Generic to Supporting
- Changes in Domains
- Strategic Design Concerns
- Tactical Design Concerns
- Transaction Script to Active Record
- Active Record to Domain Model
- Domain Model to Event-Sourced Domain Model
- Generating Past Transitions
- Modeling Migration Events
- Organizational Changes
- Partnership to CustomerSupplier
- CustomerSupplier to Separate Ways
- Domain Knowledge
- Growth
- Subdomains
- Bounded Contexts
- Aggregates
- Conclusion
- Exercises
- 12. EventStorming
- What Is EventStorming?
- Who Should Participate in EventStorming?
- What Do You Need for EventStorming?
- The EventStorming Process
- Step 1: Unstructured Exploration
- Step 2: Timelines
- Step 3: Pain Points
- Step 4: Pivotal Events
- Step 5: Commands
- Step 6: Policies
- Step 7: Read Models
- Step 8: External Systems
- Step 9: Aggregates
- Step 10: Bounded Contexts
- Variants
- When to Use EventStorming
- Facilitation Tips
- Watch the Dynamics
- Remote EventStorming
- Conclusion
- Exercises
- 13. Domain-Driven Design in the Real World
- Strategic Analysis
- Understand the Business Domain
- Core subdomains
- Generic subdomains
- Supporting subdomains
- Understand the Business Domain
- Explore the Current Design
- Evaluate the tactical design
- Evaluate the strategic design
- Strategic Analysis
- Modernization Strategy
- Strategic Modernization
- Tactical Modernization
- Cultivate a Ubiquitous Language
- Strangler pattern
- Refactoring tactical design decisions
- Pragmatic Domain-Driven Design
- Selling Domain-Driven Design
- Undercover Domain-Driven Design
- Ubiquitous language
- Bounded contexts
- Tactical design decisions
- Event-sourced domain model
- Undercover Domain-Driven Design
- Conclusion
- Exercises
- IV. Relationships to Other Methodologies and Patterns
- 14. Microservices
- What Is a Service?
- What Is a Microservice?
- Method as a Service: Perfect Microservices?
- Design Goal
- System Complexity
- Microservices as Deep Services
- Microservices as Deep Modules
- Domain-Driven Design and Microservices Boundaries
- Bounded Contexts
- Aggregates
- Subdomains
- Compressing Microservices Public Interfaces
- Open-Host Service
- Anticorruption Layer
- Conclusion
- Exercises
- 15. Event-Driven Architecture
- Event-Driven Architecture
- Events
- Events, Commands, and Messages
- Structure
- Types of Events
- Event notification
- Security
- Concurrency
- Event notification
- Event-carried state transfer
- Domain event
- Domain events versus event notification
- Domain events versus event-carried state transfer
- Event types: Example
- Designing Event-Driven Integration
- Distributed Big Ball of Mud
- Temporal Coupling
- Functional Coupling
- Implementation Coupling
- Refactoring the Event-Driven Integration
- Event-Driven Design Heuristics
- Assume the worst
- Use public and private events
- Evaluate consistency requirements
- Conclusion
- Exercises
- 16. Data Mesh
- Analytical Data Model Versus Transactional Data Model
- Fact Table
- Dimension Table
- Analytical Models
- Analytical Data Model Versus Transactional Data Model
- Analytical Data Management Platforms
- Data Warehouse
- Data Lake
- Challenges of Data Warehouse and Data Lake Architectures
- Data Mesh
- Decompose Data Around Domains
- Data as a Product
- Enable Autonomy
- Build an Ecosystem
- Combining Data Mesh and Domain-Driven Design
- Conclusion
- Exercises
- Closing Words
- Problem
- Solution
- Implementation
- Further Reading
- Advanced Domain-Driven Design
- Architectural and Integration Patterns
- Modernization of Legacy Systems
- EventStorming
- Conclusion
- A. Applying DDD: A Case Study
- Five Bounded Contexts
- Business Domain
- Bounded Context #1: Marketing
- A kind of magic
- Our early understanding of domain-driven design
- Bounded Context #2: CRM
- More aggregates!
- Solution design: Take two
- Tower of Babel 2.0
- A broader understanding of domain-driven design
- Five Bounded Contexts
- Bounded Context #3: Event Crunchers
- Bounded Context #4: Bonuses
- Design: Take two
- Ubiquitous language
- A classic understanding of domain-driven design
- Bounded Context #5: The Marketing Hub
- Micro what?
- The real problem
- Discussion
- Ubiquitous Language
- Subdomains
- Mapping design decisions to subdomains
- Dont ignore pain
- Boundaries of Bounded Contexts
- Conclusion
- B. Answers to Exercise Questions
- Chapter 1
- Chapter 2
- Chapter 3
- Chapter 4
- Chapter 5
- Chapter 6
- Chapter 7
- Chapter 8
- Chapter 9
- Chapter 10
- Chapter 11
- Chapter 12
- Chapter 13
- Chapter 14
- Chapter 15
- Chapter 16
- References
- Index
O'Reilly Media - inne książki
-
Keeping up with the Python ecosystem can be daunting. Its developer tooling doesn't provide the out-of-the-box experience native to languages like Rust and Go. When it comes to long-term project maintenance or collaborating with others, every Python project faces the same problem: how to build re...(201.03 zł najniższa cena z 30 dni)
200.93 zł
239.00 zł(-16%) -
Bringing a deep-learning project into production at scale is quite challenging. To successfully scale your project, a foundational understanding of full stack deep learning, including the knowledge that lies at the intersection of hardware, software, data, and algorithms, is required.This book il...(241.36 zł najniższa cena z 30 dni)
241.26 zł
289.00 zł(-17%) -
Frontend developers have to consider many things: browser compatibility, usability, performance, scalability, SEO, and other best practices. But the most fundamental aspect of creating websites is one that often falls short: accessibility. Accessibility is the cornerstone of any website, and if a...(200.59 zł najniższa cena z 30 dni)
200.09 zł
239.00 zł(-16%) -
In this insightful and comprehensive guide, Addy Osmani shares more than a decade of experience working on the Chrome team at Google, uncovering secrets to engineering effectiveness, efficiency, and team success. Engineers and engineering leaders looking to scale their effectiveness and drive tra...(114.93 zł najniższa cena z 30 dni)
114.88 zł
149.00 zł(-23%) -
Data modeling is the single most overlooked feature in Power BI Desktop, yet it's what sets Power BI apart from other tools on the market. This practical book serves as your fast-forward button for data modeling with Power BI, Analysis Services tabular, and SQL databases. It serves as a starting ...(199.08 zł najniższa cena z 30 dni)
198.88 zł
239.00 zł(-17%) -
C# is undeniably one of the most versatile programming languages available to engineers today. With this comprehensive guide, you'll learn just how powerful the combination of C# and .NET can be. Author Ian Griffiths guides you through C# 12.0 and .NET 8 fundamentals and techniques for building c...(241.02 zł najniższa cena z 30 dni)
240.92 zł
289.00 zł(-17%) -
Learn how to get started with Futures Thinking. With this practical guide, Phil Balagtas, founder of the Design Futures Initiative and the global Speculative Futures network, shows you how designers and futurists have made futures work at companies such as Atari, IBM, Apple, Disney, Autodesk, Luf...(148.10 zł najniższa cena z 30 dni)
148.00 zł
179.00 zł(-17%) -
Augmented Analytics isn't just another book on data and analytics; it's a holistic resource for reimagining the way your entire organization interacts with information to become insight-driven.Moving beyond traditional, limited ways of making sense of data, Augmented Analytics provides a dynamic,...(174.74 zł najniższa cena z 30 dni)
174.54 zł
219.00 zł(-20%) -
Learn how to prepare for—and pass—the Kubernetes and Cloud Native Associate (KCNA) certification exam. This practical guide serves as both a study guide and point of entry for practitioners looking to explore and adopt cloud native technologies. Adrián González Sánchez ...
Kubernetes and Cloud Native Associate (KCNA) Study Guide Kubernetes and Cloud Native Associate (KCNA) Study Guide
(169.14 zł najniższa cena z 30 dni)177.65 zł
199.00 zł(-11%) -
Python is an excellent way to get started in programming, and this clear, concise guide walks you through Python a step at a time—beginning with basic programming concepts before moving on to functions, data structures, and object-oriented design. This revised third edition reflects the gro...(140.34 zł najniższa cena z 30 dni)
140.14 zł
179.00 zł(-22%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
![Loader](https://static01.helion.com.pl/ebookpoint/img/ajax-loader.gif)
![ajax-loader](https://static01.helion.com.pl/ebookpoint/img/ajax-loader.gif)
Oceny i opinie klientów: Learning Domain-Driven Design Vlad Khononov (0)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.