- 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
(55.30 zł najniższa cena z 30 dni)51.35 zł
79.00 zł(-35%) -
Czy chcesz odkryć świat kodowania i stać się młodym programistą w zaledwie jeden dzień? Czy chcesz nauczyć się języka, który otworzy przed tobą drzwi do fascynującego świata technologii? Czy chcesz tworzyć własne gry, aplikacje i nie tylko, korzystając z Pythona, jednego z najbardziej przyjaz...
Python w 1 dzień dla najmłodszych. Naucz się kodowania w Pythonie w 12 godzin Python w 1 dzień dla najmłodszych. Naucz się kodowania w Pythonie w 12 godzin
-
Zanurz się w fascynujący świat programowania w języku Python i osiągnij imponujący poziom umiejętności w zaledwie 24 godziny! Oto kilka zalet, które sprawiają, że ta książka jest niezbędna dla każdego aspirującego programisty: Szybki start: podstawy Pythona już w pierwszych godzinach nauki ...
Python w 1 dzień. Nauka programowania w Pythonie w 24 godziny od A do Z Python w 1 dzień. Nauka programowania w Pythonie w 24 godziny od A do Z
-
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
(39.90 zł najniższa cena z 30 dni)64.50 zł
129.00 zł(-50%) -
To drugie wydanie praktycznego przewodnika po projektowaniu, tworzeniu, wdrażaniu, skalowaniu i utrzymaniu systemów opartych na drobnoziarnistych mikrousługach. Publikacja została uzupełniona o informacje dotyczące najnowszych trendów i technologii związanych z mikrousługami. Sporo miejsca poświę...
Budowanie mikrousług. Projektowanie drobnoziarnistych systemów. Wydanie II Budowanie mikrousług. Projektowanie drobnoziarnistych systemów. Wydanie II
(65.40 zł najniższa cena z 30 dni)70.85 zł
109.00 zł(-35%) -
Lektura tej książki ułatwi Ci pozbycie się obaw przed biblioteką asyncio. Zrozumiesz jej podstawowe elementy, co pozwoli Ci na rozpoczęcie programowania sterowanego zdarzeniami i prostą obsługę tysięcy jednoczesnych połączeń sieciowych. Dowiesz się, dlaczego Asyncio stanowi bezpieczniejszą altern...(14.90 zł najniższa cena z 30 dni)
19.95 zł
39.90 zł(-50%) -
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)
51.35 zł
79.00 zł(-35%) -
This book is a comprehensive guide to deploying and scaling frontend web applications on Netlify. With hands-on instructions and real-world examples, this book takes you from setting up a Netlify account and deploying web apps to optimizing performance.
Web Development on Netlify. Proven strategies for building, deploying, and hosting modern web applications Web Development on Netlify. Proven strategies for building, deploying, and hosting modern web applications
(71.93 zł najniższa cena z 30 dni)
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ł
(34.90 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
-
JavaScript gives web developers great power to create rich interactive browser experiences, and much of that power is provided by the browser itself. Modern web APIs enable web-based applications to come to life like never before, supporting actions that once required browser plug-ins. Some are s...(186.15 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
How will software development and operations have to change to meet the sustainability and green needs of the planet? And what does that imply for development organizations? In this eye-opening book, sustainable software advocates Anne Currie, Sarah Hsu, and Sara Bergman provide a unique overview...(160.65 zł najniższa cena z 30 dni)
177.65 zł
209.00 zł(-15%) -
OpenTelemetry is a revolution in observability data. Instead of running multiple uncoordinated pipelines, OpenTelemetry provides users with a single integrated stream of data, providing multiple sources of high-quality telemetry data: tracing, metrics, logs, RUM, eBPF, and more. This practical gu...(143.65 zł najniższa cena z 30 dni)
152.15 zł
179.00 zł(-15%) -
Interested in developing embedded systems? Since they don't tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate good development practices based on classic software design patterns and new patterns unique to embedded prog...(152.15 zł najniższa cena z 30 dni)
160.65 zł
189.00 zł(-15%) -
If you use Linux in your day-to-day work, then Linux Pocket Guide is the perfect on-the-job reference. This thoroughly updated 20th anniversary edition explains more than 200 Linux commands, including new commands for file handling, package management, version control, file format conversions, an...(92.65 zł najniższa cena z 30 dni)
101.15 zł
119.00 zł(-15%) -
Gain the valuable skills and techniques you need to accelerate the delivery of machine learning solutions. With this practical guide, data scientists, ML engineers, and their leaders will learn how to bridge the gap between data science and Lean product delivery in a practical and simple way. Dav...(245.65 zł najniższa cena z 30 dni)
254.15 zł
299.00 zł(-15%) -
This practical book provides a detailed explanation of the zero trust security model. Zero trust is a security paradigm shift that eliminates the concept of traditional perimeter-based security and requires you to "always assume breach" and "never trust but always verify." The updated edition off...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Decentralized finance (DeFi) is a rapidly growing field in fintech, having grown from $700 million to $100 billion over the past three years alone. But the lack of reliable information makes this area both risky and murky. In this practical book, experienced securities attorney Alexandra Damsker ...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Whether you're a startup founder trying to disrupt an industry or an entrepreneur trying to provoke change from within, your biggest challenge is creating a product people actually want. Lean Analytics steers you in the right direction.This book shows you how to validate your initial idea, find t...(126.65 zł najniższa cena z 30 dni)
126.65 zł
149.00 zł(-15%) -
When it comes to building user interfaces on the web, React enables web developers to unlock a new world of possibilities. This practical book helps you take a deep dive into fundamental concepts of this JavaScript library, including JSX syntax and advanced patterns, the virtual DOM, React reconc...(194.65 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%)
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
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.