SlideShare una empresa de Scribd logo
1 de 46
Objetivos de la
Iteración
Esquema del
sistema
Identificar
riesgos
Arquitecturas
candidatas
Casos de Uso
importantes
Requisitos
Software
Capa de Presentación
Capa de Negocio
Capa de Acceso a Datos
Capa de Presentación
Capa de Aplicación
Capa de Acceso a Datos
Capa de Servicios
Distribuidos
Capa de Modelo de Dominio
Servicios
Externos
Infraestructura
Transversal
Entity Framework
Pruebas de Integración
[Fact]
public void Add_User()
{
var newUser = new User();
var userRepository = new UserRepository();
userRepository.AddUser(newUser);
var dbUser = userRepository.GetById(newUser.Id);
Assert.Equal(newUser, dbUser);
}
Entidad Vs Objeto Valor
Agregados
Servicios de
Dominio
Consideraciones de Diseño de Dominio
Repositorios en Capa de Aplicación
Patrones de Diseño para Presentación
Patrón MVC (Modelo Vista Controlador)
Gestión de Excepciones
Conclusiones
https://github.com/GermanKuber/MicrosoftNLayerApp
http://germankuber.com.ar/N-Capas-Net
https://www.microsoft.com/net/learn/architecture
https://www.meetup.com/es-ES/Net-Baires/

Más contenido relacionado

La actualidad más candente

2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de usoSaul Mamani
 
VueJS Introduction
VueJS IntroductionVueJS Introduction
VueJS IntroductionDavid Ličen
 
Introduction to Swagger
Introduction to SwaggerIntroduction to Swagger
Introduction to SwaggerKnoldus Inc.
 
Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Jazmin Glez.
 
Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Alan Christensen
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesAndrés Londoño
 
Unit test your java architecture with ArchUnit
Unit test your java architecture with ArchUnitUnit test your java architecture with ArchUnit
Unit test your java architecture with ArchUnitJeremy Cook
 
Desarrollo de un sistema con rup uml
Desarrollo de un sistema con rup umlDesarrollo de un sistema con rup uml
Desarrollo de un sistema con rup umlRudy Junior
 
Base de datos modelo entidad relacion
Base de datos modelo entidad relacionBase de datos modelo entidad relacion
Base de datos modelo entidad relacionFco Javier Rodriguez
 
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Edureka!
 
State Management in Angular/React
State Management in Angular/ReactState Management in Angular/React
State Management in Angular/ReactDEV Cafe
 
Introduction to java Jasper Report with Server & iReport
Introduction to java Jasper Report with Server & iReportIntroduction to java Jasper Report with Server & iReport
Introduction to java Jasper Report with Server & iReportArif Hosain
 

La actualidad más candente (20)

2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso
 
Express js
Express jsExpress js
Express js
 
Jsf presentation
Jsf presentationJsf presentation
Jsf presentation
 
VueJS Introduction
VueJS IntroductionVueJS Introduction
VueJS Introduction
 
Introduction to Swagger
Introduction to SwaggerIntroduction to Swagger
Introduction to Swagger
 
Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD
 
Domain Driven Design Demonstrated
Domain Driven Design Demonstrated Domain Driven Design Demonstrated
Domain Driven Design Demonstrated
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionales
 
Unit test your java architecture with ArchUnit
Unit test your java architecture with ArchUnitUnit test your java architecture with ArchUnit
Unit test your java architecture with ArchUnit
 
Low Level Design
Low Level DesignLow Level Design
Low Level Design
 
Desarrollo de un sistema con rup uml
Desarrollo de un sistema con rup umlDesarrollo de un sistema con rup uml
Desarrollo de un sistema con rup uml
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Base de datos modelo entidad relacion
Base de datos modelo entidad relacionBase de datos modelo entidad relacion
Base de datos modelo entidad relacion
 
Jasper Reports.pptx
Jasper Reports.pptxJasper Reports.pptx
Jasper Reports.pptx
 
Nodejs buffers
Nodejs buffersNodejs buffers
Nodejs buffers
 
Introducción a VueJS
Introducción a VueJSIntroducción a VueJS
Introducción a VueJS
 
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
 
State Management in Angular/React
State Management in Angular/ReactState Management in Angular/React
State Management in Angular/React
 
Introduction to java Jasper Report with Server & iReport
Introduction to java Jasper Report with Server & iReportIntroduction to java Jasper Report with Server & iReport
Introduction to java Jasper Report with Server & iReport
 
Behavior Driven Development Testing (BDD)
Behavior Driven Development Testing (BDD)Behavior Driven Development Testing (BDD)
Behavior Driven Development Testing (BDD)
 

Similar a Programación en N Capas .Net

IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005oswchavez
 
Servicios de datos en la nube
Servicios de datos en la nubeServicios de datos en la nube
Servicios de datos en la nubeJuan Pablo
 
Desarrollo en Capas con .Net
Desarrollo en Capas con .NetDesarrollo en Capas con .Net
Desarrollo en Capas con .NetJorge Ercoli
 
Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Luis Fernando Aguas Bucheli
 
Disenio de aplicaciones en capas
Disenio de aplicaciones en capasDisenio de aplicaciones en capas
Disenio de aplicaciones en capasKevin Barja
 
Codecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nubeCodecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nubeNicolas Padula
 
Drupal 7 a través Drupal Commerce
Drupal 7 a través Drupal CommerceDrupal 7 a través Drupal Commerce
Drupal 7 a través Drupal CommercePedro Cambra
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netAntonio Palomares Sender
 
Arquitecturas Dirigidas por la Experiencia
Arquitecturas Dirigidas por la ExperienciaArquitecturas Dirigidas por la Experiencia
Arquitecturas Dirigidas por la ExperienciaJavier Vélez Reyes
 
Charla Atributos de calidad con .Net
Charla Atributos de calidad con .NetCharla Atributos de calidad con .Net
Charla Atributos de calidad con .NetCarlos Paez
 
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...SolidQ
 
NET MAUI Terasoft.pptx
NET MAUI Terasoft.pptxNET MAUI Terasoft.pptx
NET MAUI Terasoft.pptxLuis775803
 
Seguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudSeguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudJose Manuel Ortega Candel
 

Similar a Programación en N Capas .Net (20)

Clase xiii
Clase xiiiClase xiii
Clase xiii
 
S5-PD2-3.1. Modelo en Capas
S5-PD2-3.1. Modelo en CapasS5-PD2-3.1. Modelo en Capas
S5-PD2-3.1. Modelo en Capas
 
IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005
 
Servicios de datos en la nube
Servicios de datos en la nubeServicios de datos en la nube
Servicios de datos en la nube
 
Desarrollo en Capas con .Net
Desarrollo en Capas con .NetDesarrollo en Capas con .Net
Desarrollo en Capas con .Net
 
Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700
 
Disenio de aplicaciones en capas
Disenio de aplicaciones en capasDisenio de aplicaciones en capas
Disenio de aplicaciones en capas
 
Codecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nubeCodecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nube
 
Drupal 7 a través Drupal Commerce
Drupal 7 a través Drupal CommerceDrupal 7 a través Drupal Commerce
Drupal 7 a través Drupal Commerce
 
Presentación Tecnológica del ERP-I2E
Presentación Tecnológica del ERP-I2EPresentación Tecnológica del ERP-I2E
Presentación Tecnológica del ERP-I2E
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .net
 
Patrones j2 ee
Patrones j2 eePatrones j2 ee
Patrones j2 ee
 
Arquitecturas Dirigidas por la Experiencia
Arquitecturas Dirigidas por la ExperienciaArquitecturas Dirigidas por la Experiencia
Arquitecturas Dirigidas por la Experiencia
 
Charla Atributos de calidad con .Net
Charla Atributos de calidad con .NetCharla Atributos de calidad con .Net
Charla Atributos de calidad con .Net
 
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
 
Mvc
MvcMvc
Mvc
 
NET MAUI Terasoft.pptx
NET MAUI Terasoft.pptxNET MAUI Terasoft.pptx
NET MAUI Terasoft.pptx
 
Lab Tr5 Multicapa
Lab Tr5 MulticapaLab Tr5 Multicapa
Lab Tr5 Multicapa
 
Seguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudSeguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloud
 
Metadata api en apex
Metadata api en apexMetadata api en apex
Metadata api en apex
 

Más de Germán Küber

Explorando el Diseño de la Memoria en Rust
Explorando el Diseño de la Memoria en RustExplorando el Diseño de la Memoria en Rust
Explorando el Diseño de la Memoria en RustGermá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 .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETGermán Küber
 
Que son los smart contracts.pptx
Que son los smart contracts.pptxQue son los smart contracts.pptx
Que son los smart contracts.pptxGermán Küber
 
De 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 mesesDe 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 mesesGermán Küber
 
Patrones de diseño en solidity
Patrones de diseño en solidityPatrones de diseño en solidity
Patrones de diseño en solidityGermán Küber
 
Vertical slice architecture
Vertical slice architectureVertical slice architecture
Vertical slice architectureGermán Küber
 
De 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 mesesDe 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 mesesGermán Küber
 
Diamon pattern presentation
Diamon pattern presentationDiamon pattern presentation
Diamon pattern presentationGermán Küber
 
Programación Funcional C#
Programación Funcional C#Programación Funcional C#
Programación Funcional C#Germán Küber
 
Arquitectura en aplicaciones Angular y buenas practicas.
Arquitectura en aplicaciones Angular y buenas practicas.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 rescateUn mundo sin if. generics al rescate
Un mundo sin if. generics al rescateGermán Küber
 
Azure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresAzure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresGermán Küber
 

Más de Germán Küber (20)

Explorando el Diseño de la Memoria en Rust
Explorando el Diseño de la Memoria en RustExplorando 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 .NETDe 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.pptxMev Rapido.pptx
Mev Rapido.pptx
 
Que son los smart contracts.pptx
Que son los smart contracts.pptxQue 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 mesesDe 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 meses
 
Patrones funcionales
Patrones funcionalesPatrones funcionales
Patrones funcionales
 
Patrones de diseño en solidity
Patrones de diseño en solidityPatrones de diseño en solidity
Patrones de diseño en solidity
 
Vertical slice architecture
Vertical slice architectureVertical slice architecture
Vertical slice architecture
 
De 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 mesesDe 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 meses
 
Diamon pattern presentation
Diamon pattern presentationDiamon pattern presentation
Diamon pattern presentation
 
Patrones funcionales
Patrones funcionalesPatrones funcionales
Patrones funcionales
 
Defensive code
Defensive codeDefensive code
Defensive code
 
Programación Funcional C#
Programación Funcional C#Programación Funcional C#
Programación Funcional C#
 
Unit testing consejos
Unit testing   consejosUnit testing   consejos
Unit testing consejos
 
Defensive code C#
Defensive code C#Defensive code C#
Defensive code C#
 
Event sourcing
Event sourcingEvent sourcing
Event sourcing
 
C sharp 8
C sharp 8C sharp 8
C sharp 8
 
Arquitectura en aplicaciones Angular y buenas practicas.
Arquitectura en aplicaciones Angular y buenas practicas.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 rescateUn mundo sin if. generics al rescate
Un mundo sin if. generics al rescate
 
Azure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresAzure 360º para Desarrolaldores
Azure 360º para Desarrolaldores
 

Último

Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Luis Olivera
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 

Último (20)

Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 

Programación en N Capas .Net

Notas del editor

  1. Patrón de Inversión de Control (IoC): Delegamos a un componente o fuente externa, la función de seleccionar un tipo de implementación concreta de las dependencias de nuestras clases. En definitiva, este patrón describe técnicas para soportar una arquitectura tipo „plug-in‟ donde los objetos pueden buscar instancias de otros objetos que requieren y de los cuales dependen. Patrón Inyección de Dependencias (Dependency Injection, DI): Es realmente un caso especial de IoC. Es un patrón en el que se suplen objetos/dependencias a una clase en lugar de ser la propia clase quien cree los objetos/dependencias que necesita. El término fue acuñado por primera vez por Martin Fowler.
  2. * Active record: Es decir, un Active Record deposita la lógica de su persistencia dentro del propio dominio del objeto. Este patrón de diseño está puesto en práctica en muchas implementaciones de lenguajes dinámicos como Ruby y es usado ampliamente hoy en día por la comunidad de desarrolladores. Dentro de la tecnología .NET, hoy en día existen numerosas implementaciones como Castle Active Record, .NetTiers Application Framework o LLBLGenPro por poner algunos ejemplos. Sin embargo, uno de los inconvenientes más grandes de este patrón viene de su propia definición, al no separar conceptualmente el transporte de datos de sus mecanismos de persistencia. Si pensamos en arquitecturas orientadas a servicios dónde precisamente una separación entre los contratos de datos y las operaciones sobre los mismos es uno de los pilares de SOA, veremos que una solución como esta (Active Record) no es apropiada y en muchas ocasiones es extremadamente difícil de implementar y mantener. Otro ejemplo donde una solución basada en „Active Record‟ no es en principio una buena elección es aquella en la que no hay una relación 1:1 entre las tablas de la base de datos y los objetos Active Record dentro de nuestros modelos de dominio, o bien la lógica que estos objetos tienen que disponer es algo compleja.
  3. Normas - La lógica de Aplicación no deberá incluir ninguna lógica del Dominio, solo tareas de coordinación relativas a requerimientos técnicos de la aplicación, como coordinación de llamadas a Repositorios para persistir datos, conversiones de formatos de datos de entrada a entidades del Dominio, y en definitiva, llamadas a componentes de Infraestructura para que realicen tareas complementarias de aplicación. - Nunca deberá poseer estados que reflejen la situación de los procesos de negocio, sin embargo si puede disponer de estados que reflejen el progreso de una tarea del software.  Ventajas del uso de la Capa de Aplicación  Cumplimos el principio de “Separation of Concerns”, es decir, aislamos a la Capa de Dominio de tareas/requerimientos propios del software, tareas de „fontanería‟ que realmente no es lógica del negocio, sino aspectos de integración tecnológica, coordinación de la persistencia de datos, formatos de datos, optimización del rendimiento, etc.
  4. Normas - La lógica de Aplicación no deberá incluir ninguna lógica del Dominio, solo tareas de coordinación relativas a requerimientos técnicos de la aplicación, como coordinación de llamadas a Repositorios para persistir datos, conversiones de formatos de datos de entrada a entidades del Dominio, y en definitiva, llamadas a componentes de Infraestructura para que realicen tareas complementarias de aplicación. - Nunca deberá poseer estados que reflejen la situación de los procesos de negocio, sin embargo si puede disponer de estados que reflejen el progreso de una tarea del software.  Ventajas del uso de la Capa de Aplicación  Cumplimos el principio de “Separation of Concerns”, es decir, aislamos a la Capa de Dominio de tareas/requerimientos propios del software, tareas de „fontanería‟ que realmente no es lógica del negocio, sino aspectos de integración tecnológica, coordinación de la persistencia de datos, formatos de datos, optimización del rendimiento, etc.
  5. El patrón Model-View-Presenter (MVP) separa el modelo del dominio, la presentación y las acciones basadas en la interacción con el usuario en tres clases separadas. La vista le delega a su presenter toda la responsabilidad del manejo de los eventos del usuario. El presenter se encarga de actualizar el modelo cuando surge un evento en la vista, pero también es responsable de actualizar a la vista cuando el modelo le indica que ha cambiado. El modelo no conoce la existencia del presenter.
  6. Normas - La lógica de Aplicación no deberá incluir ninguna lógica del Dominio, solo tareas de coordinación relativas a requerimientos técnicos de la aplicación, como coordinación de llamadas a Repositorios para persistir datos, conversiones de formatos de datos de entrada a entidades del Dominio, y en definitiva, llamadas a componentes de Infraestructura para que realicen tareas complementarias de aplicación. - Nunca deberá poseer estados que reflejen la situación de los procesos de negocio, sin embargo si puede disponer de estados que reflejen el progreso de una tarea del software.  Ventajas del uso de la Capa de Aplicación  Cumplimos el principio de “Separation of Concerns”, es decir, aislamos a la Capa de Dominio de tareas/requerimientos propios del software, tareas de „fontanería‟ que realmente no es lógica del negocio, sino aspectos de integración tecnológica, coordinación de la persistencia de datos, formatos de datos, optimización del rendimiento, etc.
  7. Diseñar una estrategia apropiada de propagación de excepciones que envuelva o reemplace las excepciones (errores internos), o añada información extra según se requiera. Por ejemplo, permitir que las excepciones suban hacia las capas superiores hasta llegar a las „capas frontera‟ (como Servicios-Web o Capa de Presentación Web ASP.NET), donde dichas excepciones serán registradas (logs) y transformadas según sea necesario antes de pasarlas a la siguiente capa (normalmente, antes de que lleguen a la capa de presentación o interfaz gráfico de usuario). 