SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Downloaden Sie, um offline zu lesen
Tactical Design and
Clean Architecture
Ivan Paulovich

Stockholm Domain-Driven Design Meetup

January 30, 2020
https://paulovich.net@ivanpaulovich
Ivan Paulovich
Agile Software Developer, Tech Lead,
20+ GitHub projects about 

Clean Architecture, SOLID, 

DDD and TDD. 

Speaker/Streamer.
@ivanpaulovich
Tactical Design
• Design Patterns and Building Blocks applied within a Bounded Context.

• Used to enrich the Domain Model.

• It is hands-on (Classes, Modules)!

• It is the opposite of Anaemic Model!
@ivanpaulovich
Clean Architecture
• Patterns (not too many).

• Principles (lots of them).

• Practices (TDD?).

• Hands-on (Classes, Modules)
EntitiesEntitiesEntities
Use Cases
Controllers
Gatew
ays
Presenters
D
evices W
eb
UI
DB
External Interfaces
@ivanpaulovich
• Building Blocks
• Aggregate
• Entity
• Value Object
• Domain Service
• Ports and Adapters
• Dependency Inversion
Principle
• Stable Abstractions
Principle.
• Stable Dependencies
Principle.
• SOLID
• TDD
• Use Cases
Tactical Design Clean Architecture
@ivanpaulovich
Domain-Driven Design Patterns
• Bounded Context

• Value Object

• Entity

• Aggregate Root

• Repository

• Use Case

• Entity Factory

• Domain Service

• Application Service
@ivanpaulovich
Virtual Wallet
Customer
Checking
Account
Credit Debit
Openning
Date
Amount
Transaction
Date
Description
Amount
Transaction
Date Description
Name
Personnummer
Mobile Phone
Number
Aggregate
Root
Entity
Value Object
@ivanpaulovich
Entity
1. Highly abstract.

2. Mutable object.

3. Unique identified by an ID

(inside the aggregate).
@ivanpaulovich
Value Object
1. Encapsulate tiny business rules.

2. Immutable object.

3. Unique identified by comparison

of the properties.
@ivanpaulovich
Aggregate Root
1. Owns entities object graph.

2. Ensures the children entities state 

are always consistent.

3. Defines the consistency boundary.

4. Highly Abstract.

5. Highly Stable.
@ivanpaulovich
Aggregate Root
1. Owns entities object graph.

2. Ensures the children entities state 

are always consistent.

3. Defines the consistency boundary.

4. Highly Abstract.

5. Highly Stable.
@ivanpaulovich
Aggregates Together
Aggregate
Entity
Value Object
Value Object
Entity Value Object
Aggregate
• Aggregates know each other only by ID.

• Keep a low coupling between them.
@ivanpaulovich
Repository
1. Provides persistence capabilities to

Aggregate Roots.

2. A Repository for every Entity

is a code smell.
@ivanpaulovich
Domain Service
• Cross-entities functions.

• Without side effects outside
the application memory.
@ivanpaulovich
Architecture The Lost Years by Robert C. Martin
@ivanpaulovich
Architecture UML - Uncle Bob
@ivanpaulovich
The “Software Architecture”
Presentation Layer ASP.NET MVC and Autofac
Business Layer MediatR and AutoMapper
Data Layer Entity Framework and Dapper
Database and Messaging SQL Server and RabbitMQ
IDE and Tools Visual Studio, Resharper and .NET Framework
17 @ivanpaulovich
The “Software Architecture”
Presentation Layer ASP.NET MVC and Autofac
Business Layer MediatR and AutoMapper
Data Layer Entity Framework and Dapper
Database and Messaging SQL Server and RabbitMQ
IDE and Tools Visual Studio, Resharper and .NET Framework
18 @ivanpaulovich
Not a Software
Architecture!
Architecture is About Usage
19 @ivanpaulovich
Clean Architecture
• Use Cases as central organising structure. 

• Follows the Ports and Adapters pattern (Hexagonal Architecture).

• The implementation is guided by tests.

• It is decoupled from technology details.

• Follows lots of Principles (Stability, Abstractness, Dependencies, SOLID).

• Pluggable User Interface.
@ivanpaulovich
Ticket Terminal
Ticket Terminal
Display movies
Request
movie details
Print pre-ordered
tickets
Order tickets
Customer
Movie Catalog
Order System
Credit
Processing
Use Cases
• Use Cases are delivery independent.

• Show the intent of a system.

• Use Cases are algorithms that
interpret the input to generate the
output data.

• Primary and secondary actors.
21 @ivanpaulovich
Business
v
Primary

Actors
@ivanpaulovich22
Ports and Adapters
CloudMessaging
UI
In Memory
Persistence
Tests
In MemoryMessaging
SQL
Secondary

Actors
EntitiesEntities
CleanArchitecture
Entities
Use Cases
Controllers
Gatew
ays
Presenters
D
evices W
eb
UI
DB
External Interfaces
@ivanpaulovich
•Abstractness increases with
stability.

•Modules depend in the
direction of stability.

•Classes that change together
are packaged together.
Entities
Use Cases
Controllers
Presenters
Gateways
Devices UIDB Web
External Interfaces
Abstract,

General,

Stable,

Consistent
Concrete,

Specific, 

Unstable,
Inconsistent
Level
CleanArchitecture
@ivanpaulovich
Use Case
@ivanpaulovich
Use Case Input and Output Messages
1. Immutable.

2. Consistent-ish
@ivanpaulovich
Architecture UML - Uncle Bob
@ivanpaulovich
Microservices?
Are you moving 

from Monolith into Microservices?



Try moving 

from Monolith into Modular-Monolith instead.
@ivanpaulovich
Microservices?
• Low coupling between aggregates.

• Adapters for dependencies.

• Defer extracting an Aggregate.
@ivanpaulovich
Bounded Context
• Another way of saying a Module, Logical Organisation or Component.

• Developed and tested independently.

• Deployment separately is an option/decision.
@ivanpaulovich
• Context Map sets the relationship between contexts.

• Conformist.

• Shared Kernel.

• Customer / Supplier.

• Anti-Corruption Layer.
Bounded Context
Customers Accounts SecurityExchange
@ivanpaulovich
Application
Unit Test
Web
Database
Domain
Primary

Actors
Secondary

Actors
@ivanpaulovich32
Infrastructure
Ports and Adapters
Infra
Services
Controller
Use Case
Domain
Service
Domain
Service
Unit of
Work
Repository
Repository
Core InfrastructureGUI
@ivanpaulovich
@ivanpaulovich
Splitting packages on the software lifetime
Domain
Application
Infrastructure
User Interface
Tests
Tests
Core
Tests
Core
Infrastructure
2nd1st 3rd 4th
WalkthroughanUseCase
Controller
@ivanpaulovich
WalkthroughanUseCase
Use Case
@ivanpaulovich
WalkthroughanUseCase Repository
@ivanpaulovich
WalkthroughanUseCase
Use Case
@ivanpaulovich
WalkthroughanUseCase Domain Service
@ivanpaulovich
WalkthroughanUseCase Repository
@ivanpaulovich
WalkthroughanUseCase Domain Service
@ivanpaulovich
WalkthroughanUseCase
Use Case
@ivanpaulovich
WalkthroughanUseCase
Use Case
@ivanpaulovich
WalkthroughanUseCase
Controller
@ivanpaulovich
Wrapping up Tactical Design
• It enriches the Domain Model.

• It applies Encapsulation, hides details.

• Focus on usage.

• Unambiguity.

• High consistency inside the domain.
45
@ivanpaulovich
Wrapping up Clean Architecture
• Clean Architecture is about usage and the use cases are the central
organizing principle.

• Use cases implementation are guided by tests.

• The User Interface and Persistence are designed to fulfil the core
needs (not the opposite!).

• Defer decisions by implementing the simplest component first.
46
@ivanpaulovich
References
https://cleancoders.com
Clean Code: Component Design
Clean Code: SOLID Principles
Clean Code: Fundamentals
https://github.com/ivanpaulovich/clean-architecture-manga
Robert C Martin - Clean
Architecture and Design
@ivanpaulovich
48
Ask metwo questions!
@ivanpaulovich
Fork me on GitHub

Weitere ähnliche Inhalte

Was ist angesagt?

Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Araf Karsh Hamid
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)Tom Kocjan
 
Domain Driven Design: Zero to Hero
Domain Driven Design: Zero to HeroDomain Driven Design: Zero to Hero
Domain Driven Design: Zero to HeroFabrício Rissetto
 
A Practical Guide to Domain Driven Design: Presentation Slides
A Practical Guide to Domain Driven Design: Presentation SlidesA Practical Guide to Domain Driven Design: Presentation Slides
A Practical Guide to Domain Driven Design: Presentation Slidesthinkddd
 
Domain Driven Design Introduction
Domain Driven Design IntroductionDomain Driven Design Introduction
Domain Driven Design Introductionwojtek_s
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principlesSanjoy Kumar Roy
 
Microservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaMicroservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaAraf Karsh Hamid
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsAraf Karsh Hamid
 
Shaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patternsShaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patternsAsher Sterkin
 
Event-driven microservices
Event-driven microservicesEvent-driven microservices
Event-driven microservicesAndrew Schofield
 
Domain Driven Design Quickly
Domain Driven Design QuicklyDomain Driven Design Quickly
Domain Driven Design QuicklyMariam Hakobyan
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREAraf Karsh Hamid
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesAraf Karsh Hamid
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitecturePaul Mooney
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Richard Langlois P. Eng.
 

Was ist angesagt? (20)

Domain driven design
Domain driven designDomain driven design
Domain driven design
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)
 
Domain Driven Design: Zero to Hero
Domain Driven Design: Zero to HeroDomain Driven Design: Zero to Hero
Domain Driven Design: Zero to Hero
 
A Practical Guide to Domain Driven Design: Presentation Slides
A Practical Guide to Domain Driven Design: Presentation SlidesA Practical Guide to Domain Driven Design: Presentation Slides
A Practical Guide to Domain Driven Design: Presentation Slides
 
Domain Driven Design Introduction
Domain Driven Design IntroductionDomain Driven Design Introduction
Domain Driven Design Introduction
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principles
 
Microservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaMicroservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and Kafka
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
Shaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patternsShaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patterns
 
Event-driven microservices
Event-driven microservicesEvent-driven microservices
Event-driven microservices
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Domain Driven Design Quickly
Domain Driven Design QuicklyDomain Driven Design Quickly
Domain Driven Design Quickly
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
Introduction to DDD
Introduction to DDDIntroduction to DDD
Introduction to DDD
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
Event storming
Event storming Event storming
Event storming
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 

Ähnlich wie DDD Tactical Design with Clean Architecture - Ivan Paulovich

Clean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software CraftsmanshipClean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software CraftsmanshipIvan Paulovich
 
Clean Architecture Essentials @ivanpaulovich
Clean Architecture Essentials @ivanpaulovichClean Architecture Essentials @ivanpaulovich
Clean Architecture Essentials @ivanpaulovichIvan Paulovich
 
MWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCMWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCUlrich Krause
 
An Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPagesAn Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPagesUlrich Krause
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareRitwik Das
 
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...Open Mobile Alliance
 
Reactive Micro Services with Java seminar
Reactive Micro Services with Java seminarReactive Micro Services with Java seminar
Reactive Micro Services with Java seminarGal Marder
 
Onion Architecture / Clean Architecture
Onion Architecture / Clean ArchitectureOnion Architecture / Clean Architecture
Onion Architecture / Clean ArchitectureAttila Bertók
 
Democratising Software Architecture
Democratising Software ArchitectureDemocratising Software Architecture
Democratising Software ArchitectureEoin Woods
 
SFSCON23 - Luca Guadagnini - Ithaca the Clean and Hexagonal Architectural Is...
SFSCON23 - Luca Guadagnini - Ithaca  the Clean and Hexagonal Architectural Is...SFSCON23 - Luca Guadagnini - Ithaca  the Clean and Hexagonal Architectural Is...
SFSCON23 - Luca Guadagnini - Ithaca the Clean and Hexagonal Architectural Is...South Tyrol Free Software Conference
 
Wessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdf
Wessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdfWessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdf
Wessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdfWessel Loth
 
Attain Clean Code in Sitecore Solutions using Design Patterns
Attain Clean Code in Sitecore Solutions using Design PatternsAttain Clean Code in Sitecore Solutions using Design Patterns
Attain Clean Code in Sitecore Solutions using Design PatternsMichael Reynolds
 
Modernizing Applications with Microservices
Modernizing Applications with MicroservicesModernizing Applications with Microservices
Modernizing Applications with MicroservicesMarkus Eisele
 
Mobile App Architectures & Coding guidelines
Mobile App Architectures & Coding guidelinesMobile App Architectures & Coding guidelines
Mobile App Architectures & Coding guidelinesQamar Abbas
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableComsysto Reply GmbH
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyComsysto Reply GmbH
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyComsysto Reply GmbH
 
Clean Infrastructure as Code
Clean Infrastructure as Code Clean Infrastructure as Code
Clean Infrastructure as Code QAware GmbH
 

Ähnlich wie DDD Tactical Design with Clean Architecture - Ivan Paulovich (20)

Clean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software CraftsmanshipClean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software Craftsmanship
 
Clean Architecture Essentials @ivanpaulovich
Clean Architecture Essentials @ivanpaulovichClean Architecture Essentials @ivanpaulovich
Clean Architecture Essentials @ivanpaulovich
 
MWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCMWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVC
 
An Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPagesAn Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPages
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech Software
 
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
Enabling IoT Devices’ Hardware and Software Interoperability, IPSO Alliance (...
 
Reactive Micro Services with Java seminar
Reactive Micro Services with Java seminarReactive Micro Services with Java seminar
Reactive Micro Services with Java seminar
 
Onion Architecture / Clean Architecture
Onion Architecture / Clean ArchitectureOnion Architecture / Clean Architecture
Onion Architecture / Clean Architecture
 
Clean architecture
Clean architectureClean architecture
Clean architecture
 
Democratising Software Architecture
Democratising Software ArchitectureDemocratising Software Architecture
Democratising Software Architecture
 
Container Patterns
Container PatternsContainer Patterns
Container Patterns
 
SFSCON23 - Luca Guadagnini - Ithaca the Clean and Hexagonal Architectural Is...
SFSCON23 - Luca Guadagnini - Ithaca  the Clean and Hexagonal Architectural Is...SFSCON23 - Luca Guadagnini - Ithaca  the Clean and Hexagonal Architectural Is...
SFSCON23 - Luca Guadagnini - Ithaca the Clean and Hexagonal Architectural Is...
 
Wessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdf
Wessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdfWessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdf
Wessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdf
 
Attain Clean Code in Sitecore Solutions using Design Patterns
Attain Clean Code in Sitecore Solutions using Design PatternsAttain Clean Code in Sitecore Solutions using Design Patterns
Attain Clean Code in Sitecore Solutions using Design Patterns
 
Modernizing Applications with Microservices
Modernizing Applications with MicroservicesModernizing Applications with Microservices
Modernizing Applications with Microservices
 
Mobile App Architectures & Coding guidelines
Mobile App Architectures & Coding guidelinesMobile App Architectures & Coding guidelines
Mobile App Architectures & Coding guidelines
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Clean Infrastructure as Code
Clean Infrastructure as Code Clean Infrastructure as Code
Clean Infrastructure as Code
 

Mehr von Ivan Paulovich

Building rich domain models with ddd and tdd ivan paulovich - betsson
Building rich domain models with ddd and tdd   ivan paulovich - betssonBuilding rich domain models with ddd and tdd   ivan paulovich - betsson
Building rich domain models with ddd and tdd ivan paulovich - betssonIvan Paulovich
 
Moving to Microservices
Moving to MicroservicesMoving to Microservices
Moving to MicroservicesIvan Paulovich
 
Produzindo e consumindo um stream de eventos
Produzindo e consumindo um stream de eventosProduzindo e consumindo um stream de eventos
Produzindo e consumindo um stream de eventosIvan Paulovich
 
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...Ivan Paulovich
 
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em creches
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crechesComo uma aplicação baseada em fluxo de dados pode ampliar a segurança em creches
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crechesIvan Paulovich
 
Aggregates com Event Sourcing
Aggregates com Event SourcingAggregates com Event Sourcing
Aggregates com Event SourcingIvan Paulovich
 
Estudo do eShopOnContainers
Estudo do eShopOnContainersEstudo do eShopOnContainers
Estudo do eShopOnContainersIvan Paulovich
 
Introdução ao Domain-Driven-Design (DDD)
Introdução ao Domain-Driven-Design (DDD)Introdução ao Domain-Driven-Design (DDD)
Introdução ao Domain-Driven-Design (DDD)Ivan Paulovich
 
Princípios SOLID de OO usando .NET
Princípios SOLID de OO usando .NETPrincípios SOLID de OO usando .NET
Princípios SOLID de OO usando .NETIvan Paulovich
 
Utilize o vso e publique imagens docker Global Azure Bootcamp - BH
Utilize o vso e publique imagens docker Global Azure Bootcamp - BHUtilize o vso e publique imagens docker Global Azure Bootcamp - BH
Utilize o vso e publique imagens docker Global Azure Bootcamp - BHIvan Paulovich
 
Windows Azure Mobile Services InfoTech 2014
Windows Azure Mobile Services InfoTech 2014Windows Azure Mobile Services InfoTech 2014
Windows Azure Mobile Services InfoTech 2014Ivan Paulovich
 
Mercado de ti e suas oportunidades
Mercado de ti e suas oportunidadesMercado de ti e suas oportunidades
Mercado de ti e suas oportunidadesIvan Paulovich
 
Construindo Apps Com SignalR
Construindo Apps Com SignalRConstruindo Apps Com SignalR
Construindo Apps Com SignalRIvan Paulovich
 
Construindo apps de tempo real com SignalR
Construindo apps de tempo real com SignalRConstruindo apps de tempo real com SignalR
Construindo apps de tempo real com SignalRIvan Paulovich
 
Construindo Apps com ASP.NET SignalR
Construindo Apps com ASP.NET SignalRConstruindo Apps com ASP.NET SignalR
Construindo Apps com ASP.NET SignalRIvan Paulovich
 
Levando sua aplicação para a nuvem
Levando sua aplicação para a nuvemLevando sua aplicação para a nuvem
Levando sua aplicação para a nuvemIvan Paulovich
 
Conhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web APIConhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web APIIvan Paulovich
 
Criando aplicativos para Windows 8 usando apenas HTML5 e Javascript
Criando aplicativos para Windows 8 usando apenas HTML5 e JavascriptCriando aplicativos para Windows 8 usando apenas HTML5 e Javascript
Criando aplicativos para Windows 8 usando apenas HTML5 e JavascriptIvan Paulovich
 

Mehr von Ivan Paulovich (18)

Building rich domain models with ddd and tdd ivan paulovich - betsson
Building rich domain models with ddd and tdd   ivan paulovich - betssonBuilding rich domain models with ddd and tdd   ivan paulovich - betsson
Building rich domain models with ddd and tdd ivan paulovich - betsson
 
Moving to Microservices
Moving to MicroservicesMoving to Microservices
Moving to Microservices
 
Produzindo e consumindo um stream de eventos
Produzindo e consumindo um stream de eventosProduzindo e consumindo um stream de eventos
Produzindo e consumindo um stream de eventos
 
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...
 
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em creches
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crechesComo uma aplicação baseada em fluxo de dados pode ampliar a segurança em creches
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em creches
 
Aggregates com Event Sourcing
Aggregates com Event SourcingAggregates com Event Sourcing
Aggregates com Event Sourcing
 
Estudo do eShopOnContainers
Estudo do eShopOnContainersEstudo do eShopOnContainers
Estudo do eShopOnContainers
 
Introdução ao Domain-Driven-Design (DDD)
Introdução ao Domain-Driven-Design (DDD)Introdução ao Domain-Driven-Design (DDD)
Introdução ao Domain-Driven-Design (DDD)
 
Princípios SOLID de OO usando .NET
Princípios SOLID de OO usando .NETPrincípios SOLID de OO usando .NET
Princípios SOLID de OO usando .NET
 
Utilize o vso e publique imagens docker Global Azure Bootcamp - BH
Utilize o vso e publique imagens docker Global Azure Bootcamp - BHUtilize o vso e publique imagens docker Global Azure Bootcamp - BH
Utilize o vso e publique imagens docker Global Azure Bootcamp - BH
 
Windows Azure Mobile Services InfoTech 2014
Windows Azure Mobile Services InfoTech 2014Windows Azure Mobile Services InfoTech 2014
Windows Azure Mobile Services InfoTech 2014
 
Mercado de ti e suas oportunidades
Mercado de ti e suas oportunidadesMercado de ti e suas oportunidades
Mercado de ti e suas oportunidades
 
Construindo Apps Com SignalR
Construindo Apps Com SignalRConstruindo Apps Com SignalR
Construindo Apps Com SignalR
 
Construindo apps de tempo real com SignalR
Construindo apps de tempo real com SignalRConstruindo apps de tempo real com SignalR
Construindo apps de tempo real com SignalR
 
Construindo Apps com ASP.NET SignalR
Construindo Apps com ASP.NET SignalRConstruindo Apps com ASP.NET SignalR
Construindo Apps com ASP.NET SignalR
 
Levando sua aplicação para a nuvem
Levando sua aplicação para a nuvemLevando sua aplicação para a nuvem
Levando sua aplicação para a nuvem
 
Conhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web APIConhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web API
 
Criando aplicativos para Windows 8 usando apenas HTML5 e Javascript
Criando aplicativos para Windows 8 usando apenas HTML5 e JavascriptCriando aplicativos para Windows 8 usando apenas HTML5 e Javascript
Criando aplicativos para Windows 8 usando apenas HTML5 e Javascript
 

Kürzlich hochgeladen

Engineering Mechanics Chapter 5 Equilibrium of a Rigid Body
Engineering Mechanics  Chapter 5  Equilibrium of a Rigid BodyEngineering Mechanics  Chapter 5  Equilibrium of a Rigid Body
Engineering Mechanics Chapter 5 Equilibrium of a Rigid BodyAhmadHajasad2
 
Modelling Guide for Timber Structures - FPInnovations
Modelling Guide for Timber Structures - FPInnovationsModelling Guide for Timber Structures - FPInnovations
Modelling Guide for Timber Structures - FPInnovationsYusuf Yıldız
 
Dev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & LoggingDev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & LoggingMarian Marinov
 
Technology Features of Apollo HDD Machine, Its Technical Specification with C...
Technology Features of Apollo HDD Machine, Its Technical Specification with C...Technology Features of Apollo HDD Machine, Its Technical Specification with C...
Technology Features of Apollo HDD Machine, Its Technical Specification with C...Apollo Techno Industries Pvt Ltd
 
Mohs Scale of Hardness, Hardness Scale.pptx
Mohs Scale of Hardness, Hardness Scale.pptxMohs Scale of Hardness, Hardness Scale.pptx
Mohs Scale of Hardness, Hardness Scale.pptxKISHAN KUMAR
 
Summer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdf
Summer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdfSummer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdf
Summer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdfNaveenVerma126
 
nvidia AI-gtc 2024 partial slide deck.pptx
nvidia AI-gtc 2024 partial slide deck.pptxnvidia AI-gtc 2024 partial slide deck.pptx
nvidia AI-gtc 2024 partial slide deck.pptxjasonsedano2
 
EPE3163_Hydro power stations_Unit2_Lect2.pptx
EPE3163_Hydro power stations_Unit2_Lect2.pptxEPE3163_Hydro power stations_Unit2_Lect2.pptx
EPE3163_Hydro power stations_Unit2_Lect2.pptxJoseeMusabyimana
 
IT3401-WEB ESSENTIALS PRESENTATIONS.pptx
IT3401-WEB ESSENTIALS PRESENTATIONS.pptxIT3401-WEB ESSENTIALS PRESENTATIONS.pptx
IT3401-WEB ESSENTIALS PRESENTATIONS.pptxSAJITHABANUS
 
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptxVertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptxLMW Machine Tool Division
 
Phase noise transfer functions.pptx
Phase noise transfer      functions.pptxPhase noise transfer      functions.pptx
Phase noise transfer functions.pptxSaiGouthamSunkara
 
UNIT4_ESD_wfffffggggggggggggith_ARM.pptx
UNIT4_ESD_wfffffggggggggggggith_ARM.pptxUNIT4_ESD_wfffffggggggggggggith_ARM.pptx
UNIT4_ESD_wfffffggggggggggggith_ARM.pptxrealme6igamerr
 
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchrohitcse52
 
Basic Principle of Electrochemical Sensor
Basic Principle of  Electrochemical SensorBasic Principle of  Electrochemical Sensor
Basic Principle of Electrochemical SensorTanvir Moin
 
GENERAL CONDITIONS FOR CONTRACTS OF CIVIL ENGINEERING WORKS
GENERAL CONDITIONS  FOR  CONTRACTS OF CIVIL ENGINEERING WORKS GENERAL CONDITIONS  FOR  CONTRACTS OF CIVIL ENGINEERING WORKS
GENERAL CONDITIONS FOR CONTRACTS OF CIVIL ENGINEERING WORKS Bahzad5
 
A Seminar on Electric Vehicle Software Simulation
A Seminar on Electric Vehicle Software SimulationA Seminar on Electric Vehicle Software Simulation
A Seminar on Electric Vehicle Software SimulationMohsinKhanA
 
Landsman converter for power factor improvement
Landsman converter for power factor improvementLandsman converter for power factor improvement
Landsman converter for power factor improvementVijayMuni2
 

Kürzlich hochgeladen (20)

Engineering Mechanics Chapter 5 Equilibrium of a Rigid Body
Engineering Mechanics  Chapter 5  Equilibrium of a Rigid BodyEngineering Mechanics  Chapter 5  Equilibrium of a Rigid Body
Engineering Mechanics Chapter 5 Equilibrium of a Rigid Body
 
Modelling Guide for Timber Structures - FPInnovations
Modelling Guide for Timber Structures - FPInnovationsModelling Guide for Timber Structures - FPInnovations
Modelling Guide for Timber Structures - FPInnovations
 
Litature Review: Research Paper work for Engineering
Litature Review: Research Paper work for EngineeringLitature Review: Research Paper work for Engineering
Litature Review: Research Paper work for Engineering
 
Dev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & LoggingDev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & Logging
 
Technology Features of Apollo HDD Machine, Its Technical Specification with C...
Technology Features of Apollo HDD Machine, Its Technical Specification with C...Technology Features of Apollo HDD Machine, Its Technical Specification with C...
Technology Features of Apollo HDD Machine, Its Technical Specification with C...
 
Mohs Scale of Hardness, Hardness Scale.pptx
Mohs Scale of Hardness, Hardness Scale.pptxMohs Scale of Hardness, Hardness Scale.pptx
Mohs Scale of Hardness, Hardness Scale.pptx
 
Summer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdf
Summer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdfSummer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdf
Summer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdf
 
nvidia AI-gtc 2024 partial slide deck.pptx
nvidia AI-gtc 2024 partial slide deck.pptxnvidia AI-gtc 2024 partial slide deck.pptx
nvidia AI-gtc 2024 partial slide deck.pptx
 
Lecture 4 .pdf
Lecture 4                              .pdfLecture 4                              .pdf
Lecture 4 .pdf
 
EPE3163_Hydro power stations_Unit2_Lect2.pptx
EPE3163_Hydro power stations_Unit2_Lect2.pptxEPE3163_Hydro power stations_Unit2_Lect2.pptx
EPE3163_Hydro power stations_Unit2_Lect2.pptx
 
IT3401-WEB ESSENTIALS PRESENTATIONS.pptx
IT3401-WEB ESSENTIALS PRESENTATIONS.pptxIT3401-WEB ESSENTIALS PRESENTATIONS.pptx
IT3401-WEB ESSENTIALS PRESENTATIONS.pptx
 
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptxVertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
 
Phase noise transfer functions.pptx
Phase noise transfer      functions.pptxPhase noise transfer      functions.pptx
Phase noise transfer functions.pptx
 
UNIT4_ESD_wfffffggggggggggggith_ARM.pptx
UNIT4_ESD_wfffffggggggggggggith_ARM.pptxUNIT4_ESD_wfffffggggggggggggith_ARM.pptx
UNIT4_ESD_wfffffggggggggggggith_ARM.pptx
 
Lecture 2 .pdf
Lecture 2                           .pdfLecture 2                           .pdf
Lecture 2 .pdf
 
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
 
Basic Principle of Electrochemical Sensor
Basic Principle of  Electrochemical SensorBasic Principle of  Electrochemical Sensor
Basic Principle of Electrochemical Sensor
 
GENERAL CONDITIONS FOR CONTRACTS OF CIVIL ENGINEERING WORKS
GENERAL CONDITIONS  FOR  CONTRACTS OF CIVIL ENGINEERING WORKS GENERAL CONDITIONS  FOR  CONTRACTS OF CIVIL ENGINEERING WORKS
GENERAL CONDITIONS FOR CONTRACTS OF CIVIL ENGINEERING WORKS
 
A Seminar on Electric Vehicle Software Simulation
A Seminar on Electric Vehicle Software SimulationA Seminar on Electric Vehicle Software Simulation
A Seminar on Electric Vehicle Software Simulation
 
Landsman converter for power factor improvement
Landsman converter for power factor improvementLandsman converter for power factor improvement
Landsman converter for power factor improvement
 

DDD Tactical Design with Clean Architecture - Ivan Paulovich