

- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 340
- 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)51.35 zł
79.00 zł(-35%) -
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%) -
Branża IT kusi licznymi ofertami pracy, atrakcyjnymi zarobkami i ciekawymi ścieżkami rozwoju nie tylko zawodowych programistów, lecz również osoby bez wykształcenia informatycznego czy doświadczenia w tej dziedzinie. Te ostatnie zwykle zaczynają karierę od roli testera aplikacji. Jednym z podstaw...(53.40 zł najniższa cena z 30 dni)
57.85 zł
89.00 zł(-35%) -
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)50.05 zł
77.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...(23.94 zł najniższa cena z 30 dni)
25.93 zł
39.90 zł(-35%) -
Mikrousługi są relatywnie świeżą koncepcją w świecie systemów IT, mimo to coraz więcej organizacji decyduje się na wdrażanie opartej na nich architektury. Uznaje się, że zapewnia ona wówczas lepszą skalowalność, łatwość łączenia poszczególnych niezależnych elementów, a przede wszystkim możliwość ...
Od monolitu do mikrousług. Ewolucyjne wzorce przekształcania systemów monolitycznych Od monolitu do mikrousług. Ewolucyjne wzorce przekształcania systemów monolitycznych
(32.94 zł najniższa cena z 30 dni)35.69 zł
54.90 zł(-35%) -
W tej książce w sposób jasny i bardzo interesujący przedstawiono uniwersalne zasady architektury oprogramowania wraz z szeregiem wskazówek dotyczących stosowania tych reguł w praktyce. Wyczerpująco zaprezentowano tu dostępne rozwiązania i wyjaśniono, dlaczego są one tak istotne dla sukcesu przeds...
Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów
(53.40 zł najniższa cena z 30 dni)57.85 zł
89.00 zł(-35%) -
Jeśli postanowiłeś zyskać praktyczną wiedzę o algorytmach i strukturach danych, a przy tym nieźle posługujesz się Javą, to trzymasz w rękach właściwą poublikację. Podstawy teoretyczne zostały w niej ograniczone do niezbędnych, potrzebnych w praktyce zagadnień. Sporo miejsca poświęcono analizie im...
Zrozum struktury danych. Algorytmy i praca na danych w Javie Zrozum struktury danych. Algorytmy i praca na danych w Javie
(19.95 zł najniższa cena z 30 dni)21.95 zł
39.90 zł(-45%) -
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%) -
To praktyczny przewodnik, dzięki któremu samodzielnie ocenisz, jak dużą wartość biznesową mogą zyskać duże wolumeny danych, jeśli są wykorzystywane w organizacji przy użyciu architektury mikrousług opartych na zdarzeniach. Dowiesz się także, jak przygotować i przeprowadzić proces budowania organi...
Mikrousługi oparte na zdarzeniach. Wykorzystywanie danych w organizacji na dużą skalę Mikrousługi oparte na zdarzeniach. Wykorzystywanie danych w organizacji na dużą skalę
(41.40 zł najniższa cena z 30 dni)44.85 zł
69.00 zł(-35%)
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
43,45 zł
79,00 zł
(39.50 zł najniższa cena z 30 dni)
Ebooka 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 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 zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
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
-
The way developers design, build, and run software has changed significantly with the evolution of microservices and containers. These modern architectures offer new distributed primitives that require a different set of practices than many developers, tech leads, and architects are accustomed to...(211.65 zł najniższa cena z 30 dni)
220.15 zł
259.00 zł(-15%) -
Learn how to build end-to-end scalable machine learning solutions with Apache Spark. With this practical guide, author Adi Polak introduces data and ML practitioners to creative solutions that supersede today's traditional methods. You'll learn a more holistic approach that takes you beyond speci...(262.65 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
What is eBPF? With this revolutionary technology, you can write custom code that dynamically changes the way the kernel behaves. It's an extraordinary platform for building a whole new generation of security, observability, and networking tools.This practical book is ideal for developers, system ...(186.15 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
Combing the web is simple, but how do you search for data at work? It's difficult and time-consuming, and can sometimes seem impossible. This book introduces a practical solution: the data catalog. Data analysts, data scientists, and data engineers will learn how to create true data discovery in ...(220.15 zł najniższa cena z 30 dni)
220.15 zł
259.00 zł(-15%) -
This updated edition of the Nutshell guide not only helps experienced Java programmers get the most out of versions through Java 17, it also serves as a learning path for new developers. Chock-full of examples that demonstrate how to take complete advantage of modern Java APIs and development bes...(220.15 zł najniższa cena z 30 dni)
220.15 zł
259.00 zł(-15%) -
Get started with Ray, the open source distributed computing framework that simplifies the process of scaling compute-intensive Python workloads. With this practical book, Python programmers, data engineers, and data scientists will learn how to leverage Ray locally and spin up compute clusters. Y...(220.15 zł najniższa cena z 30 dni)
220.15 zł
259.00 zł(-15%) -
Remove your doubts about AI and explore how this technology can be future-proofed using blockchain's smart contracts and tamper-evident ledgers. With this practical book, system architects, software engineers, and systems solution specialists will learn how enterprise blockchain provides permanen...(262.65 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
FinOps brings financial accountability to the variable spend model of cloud. Used by the majority of global enterprises, this management practice has grown from a fringe activity to the de facto discipline managing cloud spend. In this book, authors J.R. Storment and Mike Fuller outline the proce...(262.65 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
Edge AI is transforming the way computers interact with the real world, allowing IoT devices to make decisions using the 99% of sensor data that was previously discarded due to cost, bandwidth, or power limitations. With techniques like embedded machine learning, developers can capture human intu...(262.65 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
Why is it difficult for so many companies to get digital identity right? If you're still wrestling with even simple identity problems like modern website authentication, this practical book has the answers you need. Author Phil Windley provides conceptual frameworks to help you make sense of all ...(186.15 zł najniższa cena z 30 dni)
186.15 zł
219.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.
W przypadku usługi "Druk na żądanie" termin dostarczenia przesyłki może obejmować także czas potrzebny na dodruk (do 10 dni roboczych)
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.


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.