Vertical slice architecture
Vertical Slice
Architecture
Germán Küber
Software Architect
>_
Arquitectura Tradicional N-Capas
UI
Lógica de Negocios
Acceso a Datos
Base de datos
¿ Como organizamos nuestras capas?
• User.cs
• UserController.cs
• UserService.cs
• UserRepository.cs
Arquitectura N capas Asp.Net
1
2
3
4
5
6
7
8
9
10
11
12
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);
}
Arquitectura N-Capas
UI
BL
DAL
DB
Vertical Slice Architecture
Vertical Slice Architecture
De métodos a Clases
void BlockUser()
void AcceptUser()
void CreateUser()
UsersServices
BlockUser { }
AcceptUser { }
CreateUser { }
Modelo de Requests
Input
Request
Handler
Output
Comandos y Queries
Web
App
GET
Query
POST
Command
Query Handler Response
Command Handler Response
Idempotente
No Idempotente
Encapsulamiento
Request Response
Encapsulamiento
Request
Handler
Response
Domain
Vertical slice architecture
¿Por que Vertical Slice Architecture?
• Código sencillo
• Código fácil de probar
• Separación de tests
• Aplicación fácil de dividir
Vertical slice architecture
Gracias!!!
Germankuber
http://germankuber.com.ar

More Related Content

PDF
ButterKnife
PPTX
Azure functions
PPT
Play With Theschwartz
PDF
MongoDB World 2019: Building a GraphQL API with MongoDB, Prisma, & TypeScript
PPTX
Finding Your Place in the Cosmos - Azure Cosmos DB
PPTX
Tired of playing exploit kit whack-a-mole? Let's automate
PPTX
Leveraging Azure Search in Your Application
PPTX
[MongoDB.local Bengaluru 2018] Introduction to MongoDB Stitch
ButterKnife
Azure functions
Play With Theschwartz
MongoDB World 2019: Building a GraphQL API with MongoDB, Prisma, & TypeScript
Finding Your Place in the Cosmos - Azure Cosmos DB
Tired of playing exploit kit whack-a-mole? Let's automate
Leveraging Azure Search in Your Application
[MongoDB.local Bengaluru 2018] Introduction to MongoDB Stitch

Similar to Vertical slice architecture (20)

PDF
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
PDF
Construindo APIs de forma produtiva com Spring Boot, Spring Data e Spring MVC
PDF
Security threat analysis points for enterprise with oss
PDF
Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018
PDF
PredictionIO - Scalable Machine Learning Architecture
PDF
Declarative UIs with Jetpack Compose
PDF
What's new in iOS 7
PPTX
.NET Fest 2017. Михаил Щербаков. Механизмы предотвращения атак в ASP.NET Core
PPTX
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
PDF
Linguistic Abstraction for the Web
PPT
Windows Azure and a little SQL Data Services
PDF
Bootiful Development with Spring Boot and React - RWX 2017
PPT
Whidbey old
PDF
Jason Butz Building Testable Serverless Applications with the Hexagonal Archi...
PPT
Pushing the Boundaries of Sencha and HTML5′s WebRTC
PPT
Bigger Stronger Faster
KEY
Modular Web Applications With Netzke
PDF
Medium TechTalk — iOS
PPTX
.NET Foundation, Future of .NET and C#
PPTX
Developing Next-Gen Enterprise Web Application
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
Security threat analysis points for enterprise with oss
Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018
PredictionIO - Scalable Machine Learning Architecture
Declarative UIs with Jetpack Compose
What's new in iOS 7
.NET Fest 2017. Михаил Щербаков. Механизмы предотвращения атак в ASP.NET Core
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
Linguistic Abstraction for the Web
Windows Azure and a little SQL Data Services
Bootiful Development with Spring Boot and React - RWX 2017
Whidbey old
Jason Butz Building Testable Serverless Applications with the Hexagonal Archi...
Pushing the Boundaries of Sencha and HTML5′s WebRTC
Bigger Stronger Faster
Modular Web Applications With Netzke
Medium TechTalk — iOS
.NET Foundation, Future of .NET and C#
Developing Next-Gen Enterprise Web Application
Ad

More from Germán Küber (20)

PPTX
Explorando el Diseño de la Memoria en Rust
PPTX
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
PPTX
Mev Rapido.pptx
PPTX
Que son los smart contracts.pptx
PPTX
De 0 a blockchain developer en 3 meses
PPTX
Patrones funcionales
PPTX
Patrones de diseño en solidity
PPTX
De 0 a blockchain developer en 3 meses
PPTX
Diamon pattern presentation
PPTX
Patrones funcionales
PPTX
Defensive code
PPTX
Programación Funcional C#
PPTX
Unit testing consejos
PPTX
Defensive code C#
PPTX
Event sourcing
PPTX
C sharp 8
PPTX
Arquitectura en aplicaciones Angular y buenas practicas.
PPTX
Un mundo sin if. generics al rescate
PPTX
Azure 360º para Desarrolaldores
PPTX
Vertical slice architecture
Explorando el Diseño de la Memoria en Rust
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
Mev Rapido.pptx
Que son los smart contracts.pptx
De 0 a blockchain developer en 3 meses
Patrones funcionales
Patrones de diseño en solidity
De 0 a blockchain developer en 3 meses
Diamon pattern presentation
Patrones funcionales
Defensive code
Programación Funcional C#
Unit testing consejos
Defensive code C#
Event sourcing
C sharp 8
Arquitectura en aplicaciones Angular y buenas practicas.
Un mundo sin if. generics al rescate
Azure 360º para Desarrolaldores
Vertical slice architecture
Ad

Recently uploaded (20)

PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
DOCX
search engine optimization ppt fir known well about this
PPTX
Modernising the Digital Integration Hub
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PPT
Geologic Time for studying geology for geologist
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
STKI Israel Market Study 2025 version august
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Five Habits of High-Impact Board Members
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
search engine optimization ppt fir known well about this
Modernising the Digital Integration Hub
Module 1.ppt Iot fundamentals and Architecture
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Geologic Time for studying geology for geologist
Zenith AI: Advanced Artificial Intelligence
OpenACC and Open Hackathons Monthly Highlights July 2025
Custom Battery Pack Design Considerations for Performance and Safety
STKI Israel Market Study 2025 version august
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Microsoft Excel 365/2024 Beginner's training
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
A contest of sentiment analysis: k-nearest neighbor versus neural network
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
A comparative study of natural language inference in Swahili using monolingua...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Developing a website for English-speaking practice to English as a foreign la...
Five Habits of High-Impact Board Members

Vertical slice architecture

Editor's Notes

  • #6: UserRepository: Todo el tiempo cambiamos la base de datos no?
  • #7: Tocar en diferentes lugares
  • #10: Organizada entorno a lo que debe cambiar juntos. Organiza de manera lógica todo lo que cambia junto, en un mismo lugar
  • #16: Un modelo entra un modelo sale