- 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
(51.35 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%) -
Poznaj świat programowania w R, języku stworzonym z myślą o statystyce, analizie danych i wizualizacji. Ta kompleksowa książka poprowadzi Cię krok po kroku od zupełnych podstaw aż po zaawansowane techniki, wszystko to w ciągu jednego dnia. Oto, czego się nauczysz: Podstawy języka R: Zrozumi...
Język R w jeden dzień. R od podstaw, po zaawansowane techniki Język R w jeden dzień. R od podstaw, po zaawansowane techniki
-
Język Python został ostatnio sklasyfikowany w indeksie TIOBE jako najpopularniejszy obecnie język programowania, co zawdzięcza szerokim możliwościom stosowania go w projektowaniu, prototypowaniu, testach, wdrażaniu i konserwacji oprogramowania. To zaktualizowane i rozszerzone czwarte wydanie poka...
Python w pigułce. Podręczny przewodnik po wersjach 3.10 i 3.11 Python w pigułce. Podręczny przewodnik po wersjach 3.10 i 3.11
Alex Martelli, Anna Martelli Ravenscroft, Steve Holden, Paul McGuire
(152.10 zł najniższa cena z 30 dni)152.10 zł
169.00 zł(-10%) -
Dzięki tej książce dowiesz się, w jaki sposób uczynić architekturę oprogramowania wystarczająco plastyczną, aby mogła odzwierciedlać zachodzące zmiany biznesowe i technologiczne. W nowym wydaniu rozbudowano pojęcia zmiany kierowanej i przyrostowej, a także przedstawiono najnowsze techniki dotyczą...
Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian. Wydanie II Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian. Wydanie II
(43.55 zł najniższa cena z 30 dni)46.90 zł
67.00 zł(-30%) -
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
(116.35 zł najniższa cena z 30 dni)125.30 zł
179.00 zł(-30%) -
Tę książkę docenią programiści, menedżerowie, inżynierowie i liderzy techniczni. Znajdziesz w niej cenne informacje o filozofii inżynierii oprogramowania, jak również o postępach w sposobie myślenia na jej temat. Na tej bazie oparto zestaw zasad ułatwiających skuteczne radzenie sobie z dwoma pods...
Nowoczesna inżynieria oprogramowania. Stosowanie skutecznych technik szybszego rozwoju oprogramowania wyższej jakości Nowoczesna inżynieria oprogramowania. Stosowanie skutecznych technik szybszego rozwoju oprogramowania wyższej jakości
(44.85 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
To nie jest podręcznik dla programistów. Celem autorów jest zaprezentowanie jedynej w swoim rodzaju perspektywy firmy Google, od lat rozwijającej trwały ekosystem oprogramowania, co pozwoliło zebrać pożyteczne wnioski dotyczące skali działalności i czasu jej trwania. W książce zwrócono uwagę na t...
Inżynieria oprogramowania według Google. Czego warto się nauczyć o tworzeniu oprogramowania Inżynieria oprogramowania według Google. Czego warto się nauczyć o tworzeniu oprogramowania
(83.85 zł najniższa cena z 30 dni)90.30 zł
129.00 zł(-30%) -
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
(70.85 zł najniższa cena z 30 dni)76.30 zł
109.00 zł(-30%) -
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
(50.05 zł najniższa cena z 30 dni)53.90 zł
77.00 zł(-30%)
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 "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
-
Software as a service (SaaS) is on the path to becoming the de facto model for building, delivering, and operating software solutions. Adopting a multi-tenant SaaS model requires builders to take on a broad range of new architecture, implementation, and operational challenges. How data is partiti...(237.15 zł najniższa cena z 30 dni)
245.65 zł
289.00 zł(-15%) -
Great engineers don't necessarily make great leaders—at least, not without a lot of work. Finding your path to becoming a strong leader is often fraught with challenges. It's not easy to figure out how to be strategic, successful, and considerate while also being firm. Whether you're on the...(126.65 zł najniższa cena z 30 dni)
126.65 zł
149.00 zł(-15%) -
Data science happens in code. The ability to write reproducible, robust, scaleable code is key to a data science project's success—and is absolutely essential for those working with production code. This practical book bridges the gap between data science and software engineering,and clearl...(211.65 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
With the massive adoption of microservices, operators and developers face far more complexity in their applications today. Service meshes can help you manage this problem by providing a unified control plane to secure, manage, and monitor your entire network. This practical guide shows you how th...(203.15 zł najniższa cena z 30 dni)
203.15 zł
239.00 zł(-15%) -
Get practical advice on how to leverage AI development tools for all stages of code creation, including requirements, planning, design, coding, debugging, testing, and documentation. With this book, beginners and experienced developers alike will learn how to use a wide range of tools, from gener...(164.25 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
Rust's popularity is growing, due in part to features like memory safety, type safety, and thread safety. But these same elements can also make learning Rust a challenge, even for experienced programmers. This practical guide helps you make the transition to writing idiomatic Rust—while als...(164.25 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
Advance your Power BI skills by adding AI to your repertoire at a practice level. With this practical book, business-oriented software engineers and developers will learn the terminologies, practices, and strategy necessary to successfully incorporate AI into your business intelligence estate. Je...(211.65 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Microservices can be a very effective approach for delivering value to your organization and to your customers. If you get them right, microservices help you to move fast by making changes to small parts of your system hundreds of times a day. But if you get them wrong, microservices will just ma...(203.15 zł najniższa cena z 30 dni)
203.15 zł
239.00 zł(-15%) -
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...(169.14 zł najniższa cena z 30 dni)
169.14 zł
199.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.