Submit Search
Upload
Vertical slice architecture
•
Download as PPTX, PDF
•
0 likes
•
170 views
G
Germán Küber
Follow
Vertical Slice Architecture
Read less
Read more
Technology
Report
Share
Report
Share
1 of 19
Download now
Recommended
ButterKnife
ButterKnife
Jintin Lin
Azure functions
Azure functions
명신 김
Play With Theschwartz
Play With Theschwartz
Hideo Kimura
MongoDB World 2019: Building a GraphQL API with MongoDB, Prisma, & TypeScript
MongoDB World 2019: Building a GraphQL API with MongoDB, Prisma, & TypeScript
MongoDB
Finding Your Place in the Cosmos - Azure Cosmos DB
Finding Your Place in the Cosmos - Azure Cosmos DB
Eric Potter
Tired of playing exploit kit whack-a-mole? Let's automate
Tired of playing exploit kit whack-a-mole? Let's automate
Anjum Ahuja
Leveraging Azure Search in Your Application
Leveraging Azure Search in Your Application
Jeremy Hutchinson
[MongoDB.local Bengaluru 2018] Introduction to MongoDB Stitch
[MongoDB.local Bengaluru 2018] Introduction to MongoDB Stitch
MongoDB
Recommended
ButterKnife
ButterKnife
Jintin Lin
Azure functions
Azure functions
명신 김
Play With Theschwartz
Play With Theschwartz
Hideo Kimura
MongoDB World 2019: Building a GraphQL API with MongoDB, Prisma, & TypeScript
MongoDB World 2019: Building a GraphQL API with MongoDB, Prisma, & TypeScript
MongoDB
Finding Your Place in the Cosmos - Azure Cosmos DB
Finding Your Place in the Cosmos - Azure Cosmos DB
Eric Potter
Tired of playing exploit kit whack-a-mole? Let's automate
Tired of playing exploit kit whack-a-mole? Let's automate
Anjum Ahuja
Leveraging Azure Search in Your Application
Leveraging Azure Search in Your Application
Jeremy Hutchinson
[MongoDB.local Bengaluru 2018] Introduction to MongoDB Stitch
[MongoDB.local Bengaluru 2018] Introduction to MongoDB Stitch
MongoDB
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
tdc-globalcode
Construindo APIs de forma produtiva com Spring Boot, Spring Data e Spring MVC
Construindo APIs de forma produtiva com Spring Boot, Spring Data e Spring MVC
Emmanuel Neri
Security threat analysis points for enterprise with oss
Security threat analysis points for enterprise with oss
Hibino Hisashi
Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018
Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018
Codemotion
PredictionIO - Scalable Machine Learning Architecture
PredictionIO - Scalable Machine Learning Architecture
predictionio
Declarative UIs with Jetpack Compose
Declarative UIs with Jetpack Compose
Ramon Ribeiro Rabello
What's new in iOS 7
What's new in iOS 7
barcelonaio
.NET Fest 2017. Михаил Щербаков. Механизмы предотвращения атак в ASP.NET Core
.NET Fest 2017. Михаил Щербаков. Механизмы предотвращения атак в ASP.NET Core
NETFest
Expedite the development lifecycle with MongoDB and serverless - DEM02 - Sant...
Expedite the development lifecycle with MongoDB and serverless - DEM02 - Sant...
Amazon Web Services
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB
Linguistic Abstraction for the Web
Linguistic Abstraction for the Web
Eelco Visser
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Services
ukdpe
Bootiful Development with Spring Boot and React - RWX 2017
Bootiful Development with Spring Boot and React - RWX 2017
Matt Raible
Whidbey old
Whidbey old
grenaud
Pushing the Boundaries of Sencha and HTML5′s WebRTC
Pushing the Boundaries of Sencha and HTML5′s WebRTC
Rich Waters
Bigger Stronger Faster
Bigger Stronger Faster
Chris Love
Modular Web Applications With Netzke
Modular Web Applications With Netzke
netzke
Medium TechTalk — iOS
Medium TechTalk — iOS
jimmyatmedium
.NET Foundation, Future of .NET and C#
.NET Foundation, Future of .NET and C#
Bertrand Le Roy
Developing Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web Application
Mark Gu
Explorando el Diseño de la Memoria en Rust
Explorando el Diseño de la Memoria en Rust
Germán Küber
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
Germán Küber
More Related Content
Similar to Vertical slice architecture
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
tdc-globalcode
Construindo APIs de forma produtiva com Spring Boot, Spring Data e Spring MVC
Construindo APIs de forma produtiva com Spring Boot, Spring Data e Spring MVC
Emmanuel Neri
Security threat analysis points for enterprise with oss
Security threat analysis points for enterprise with oss
Hibino Hisashi
Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018
Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018
Codemotion
PredictionIO - Scalable Machine Learning Architecture
PredictionIO - Scalable Machine Learning Architecture
predictionio
Declarative UIs with Jetpack Compose
Declarative UIs with Jetpack Compose
Ramon Ribeiro Rabello
What's new in iOS 7
What's new in iOS 7
barcelonaio
.NET Fest 2017. Михаил Щербаков. Механизмы предотвращения атак в ASP.NET Core
.NET Fest 2017. Михаил Щербаков. Механизмы предотвращения атак в ASP.NET Core
NETFest
Expedite the development lifecycle with MongoDB and serverless - DEM02 - Sant...
Expedite the development lifecycle with MongoDB and serverless - DEM02 - Sant...
Amazon Web Services
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB
Linguistic Abstraction for the Web
Linguistic Abstraction for the Web
Eelco Visser
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Services
ukdpe
Bootiful Development with Spring Boot and React - RWX 2017
Bootiful Development with Spring Boot and React - RWX 2017
Matt Raible
Whidbey old
Whidbey old
grenaud
Pushing the Boundaries of Sencha and HTML5′s WebRTC
Pushing the Boundaries of Sencha and HTML5′s WebRTC
Rich Waters
Bigger Stronger Faster
Bigger Stronger Faster
Chris Love
Modular Web Applications With Netzke
Modular Web Applications With Netzke
netzke
Medium TechTalk — iOS
Medium TechTalk — iOS
jimmyatmedium
.NET Foundation, Future of .NET and C#
.NET Foundation, Future of .NET and C#
Bertrand Le Roy
Developing Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web Application
Mark Gu
Similar to Vertical slice architecture
(20)
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
Construindo APIs de forma produtiva com Spring Boot, Spring Data e Spring MVC
Construindo APIs de forma produtiva com Spring Boot, Spring Data e Spring MVC
Security threat analysis points for enterprise with oss
Security threat analysis points for enterprise with oss
Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018
Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018
PredictionIO - Scalable Machine Learning Architecture
PredictionIO - Scalable Machine Learning Architecture
Declarative UIs with Jetpack Compose
Declarative UIs with Jetpack Compose
What's new in iOS 7
What's new in iOS 7
.NET Fest 2017. Михаил Щербаков. Механизмы предотвращения атак в ASP.NET Core
.NET Fest 2017. Михаил Щербаков. Механизмы предотвращения атак в ASP.NET Core
Expedite the development lifecycle with MongoDB and serverless - DEM02 - Sant...
Expedite the development lifecycle with MongoDB and serverless - DEM02 - Sant...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
Linguistic Abstraction for the Web
Linguistic Abstraction for the Web
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Services
Bootiful Development with Spring Boot and React - RWX 2017
Bootiful Development with Spring Boot and React - RWX 2017
Whidbey old
Whidbey old
Pushing the Boundaries of Sencha and HTML5′s WebRTC
Pushing the Boundaries of Sencha and HTML5′s WebRTC
Bigger Stronger Faster
Bigger Stronger Faster
Modular Web Applications With Netzke
Modular Web Applications With Netzke
Medium TechTalk — iOS
Medium TechTalk — iOS
.NET Foundation, Future of .NET and C#
.NET Foundation, Future of .NET and C#
Developing Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web Application
More from Germán Küber
Explorando el Diseño de la Memoria en Rust
Explorando el Diseño de la Memoria en Rust
Germán Küber
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
Germán Küber
Mev Rapido.pptx
Mev Rapido.pptx
Germán Küber
Que son los smart contracts.pptx
Que son los smart contracts.pptx
Germán Küber
De 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 meses
Germán Küber
Patrones funcionales
Patrones funcionales
Germán Küber
Patrones de diseño en solidity
Patrones de diseño en solidity
Germán Küber
De 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 meses
Germán Küber
Diamon pattern presentation
Diamon pattern presentation
Germán Küber
Patrones funcionales
Patrones funcionales
Germán Küber
Defensive code
Defensive code
Germán Küber
Programación Funcional C#
Programación Funcional C#
Germán Küber
Unit testing consejos
Unit testing consejos
Germán Küber
Defensive code C#
Defensive code C#
Germán Küber
Event sourcing
Event sourcing
Germán Küber
C sharp 8
C sharp 8
Germán Küber
Arquitectura en aplicaciones Angular y buenas practicas.
Arquitectura en aplicaciones Angular y buenas practicas.
Germán Küber
Un mundo sin if. generics al rescate
Un mundo sin if. generics al rescate
Germán Küber
Azure 360º para Desarrolaldores
Azure 360º para Desarrolaldores
Germán Küber
Vertical slice architecture
Vertical slice architecture
Germán Küber
More from Germán Küber
(20)
Explorando el Diseño de la Memoria en Rust
Explorando el Diseño de la Memoria en Rust
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
Mev Rapido.pptx
Mev Rapido.pptx
Que son los smart contracts.pptx
Que son los smart contracts.pptx
De 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 meses
Patrones funcionales
Patrones funcionales
Patrones de diseño en solidity
Patrones de diseño en solidity
De 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 meses
Diamon pattern presentation
Diamon pattern presentation
Patrones funcionales
Patrones funcionales
Defensive code
Defensive code
Programación Funcional C#
Programación Funcional C#
Unit testing consejos
Unit testing consejos
Defensive code C#
Defensive code C#
Event sourcing
Event sourcing
C sharp 8
C sharp 8
Arquitectura en aplicaciones Angular y buenas practicas.
Arquitectura en aplicaciones Angular y buenas practicas.
Un mundo sin if. generics al rescate
Un mundo sin if. generics al rescate
Azure 360º para Desarrolaldores
Azure 360º para Desarrolaldores
Vertical slice architecture
Vertical slice architecture
Recently uploaded
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Scott Keck-Warren
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
BookNet Canada
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
2toLead Limited
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Delhi Call girls
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Puma Security, LLC
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
HostedbyConfluent
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
ThousandEyes
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
gurkirankumar98700
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Pixlogix Infotech
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Results
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Delhi Call girls
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Allon Mureinik
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
Recently uploaded
(20)
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Vertical slice architecture
1.
2.
Vertical Slice Architecture Germán Küber Software
Architect
3.
>_
4.
Arquitectura Tradicional N-Capas UI Lógica
de Negocios Acceso a Datos Base de datos
5.
¿ Como organizamos
nuestras capas? • User.cs • UserController.cs • UserService.cs • UserRepository.cs
6.
Arquitectura N capas
Asp.Net 1 2 3 4 5 6 7 8 9 10 11 12
7.
public interface IPostsRepository
: IBaseRespository { Task<Post> CreateAsync(Post newPost); bool PostExistById(int id); Task<Post> GetById(int id); Task<List<Post>> GetAllByCommentIdAsync(int comment); Task<List<Post>> GetAllByDataIdAsync(DateTime date); Task<List<Post>> GetAllByCoordinatorIdAsync(int commentId, List<string> categories); Task<Post> GetByIdAsync(int id); Task<Post> GetByIdForDraftAsync(int id); Task<List<Post>> GetAllByProviderIdAsync(int providerId); Task<List<Post>> GetAllWithProvidersAsync(); Task<Post> GetByCommentDraftIdAsync(int idPost); Task<Post> GetByIdAndProviderIdAsync(int idProvider, int idPost); Task<Post> GetByIdWithQuestionAsync(int postId); Task<Post> GetByIdWithQuestionDraftAsync(int postId); Task<Post> GetByProviderIdWithQuestionAsync(int postId, int providerId); Task<Post> GetSoftByIdAsync(int id); Task<Post> GetByIdWithMilestonesAsync(int idPost); Task<Post> GetByIdWithCommentMessageAsync(int id); Task<Post> GetByIdAndProviderIdWithCommentMessageAsync(int postId, int providerId); Task<Post> GetByIdWithProviderPostsAsync(int id); Task<Post> GetByIdAndQuestionIdWithQuestionAsync(int postId, int questionId); Task<List<Post>> GetAsync(); Task<List<Post>> FilterPosts(Filter filter); }
8.
Arquitectura N-Capas UI BL DAL DB
9.
Vertical Slice Architecture
10.
Vertical Slice Architecture
11.
De métodos a
Clases void BlockUser() void AcceptUser() void CreateUser() UsersServices BlockUser { } AcceptUser { } CreateUser { }
12.
Modelo de Requests Input Request Handler Output
13.
Comandos y Queries Web App GET Query POST Command Query
Handler Response Command Handler Response Idempotente No Idempotente
14.
Encapsulamiento Request Response
15.
Encapsulamiento Request Handler Response Domain
16.
17.
¿Por que Vertical
Slice Architecture? • Código sencillo • Código fácil de probar • Separación de tests • Aplicación fácil de dividir
18.
19.
Gracias!!! Germankuber http://germankuber.com.ar
Editor's Notes
UserRepository: Todo el tiempo cambiamos la base de datos no?
Tocar en diferentes lugares
Organizada entorno a lo que debe cambiar juntos. Organiza de manera lógica todo lo que cambia junto, en un mismo lugar
Un modelo entra un modelo sale
Download now