Patrones de Arquitectura vs Patrones de Diseño
全トランスクリプト
Qué tal mi nombre es Héctor de León y si
pensamos que íbamos a hablar sobre
Master Don sobre tool o sobre Open pues
no pero si vamos a hablar de algo que es
técnicamente parecido que es la
arquitectura y los patrones de diseño y
aquí entra sobre todo mucha confusión ya
que entra la confusión ya que los mismos
autores que describen libros de
arquitectura cada uno da sus puntos de
vista y cada uno da sus nombres de
conceptos y cada uno le da a la misma
palabra del concepto un concepto
distinto esto pasa mucho porque hay
autores que dicen esto es un servicio y
otro dice esto el servicio no es eso es
esto otro y hay mucha confusión pero
vamos a resumirlo de una manera muy
práctica aquí que es una arquitectura en
el software la arquitectura pues
prácticamente es una forma de
estructurar organizar y darle un sentido
a tu software sobre todo algo intangible
como el software darle un diseño Un
diseño que tú puedas vislumbrar una
organización esto es una arquitectura no
hay más No no tienes que ponerle que
términos muy confusos una eso organizar
estructurar y darle un sentido al
software Pero para qué sirve eso bueno
eso te va a servir porque tu software no
solamente va a existir en el momento que
esto estás viendo un curso tu software
va a tener escalabilidad mantenimiento
rastreabilidad esto por qué porque tu
software va a tener un ciclo de vida que
va más allá de solamente crearlo va a
ser usado va a ser mejorado va a ser
escalado Va a ser mantenido y para eso
necesitamos una arquitectura porque la
arquitectura le va a dar sentido para
que tú puedas vislumbrar las partes del
software y vamos a entrar una
arquitectura muy sencilla la
arquitectura de capas la capa
prácticamente trata de darle un sentido
a ese software esa capa lo que le va a
indicar es decirle esto es la
responsabilidad de hacer esta parte Esto
va a tener responsabilidad de hacer esta
otra y esto es la responsabilidad de
hacer esta otra cosa y vamos a encontrar
una arquitectura muy conocida llamada
mbc mbc Marvel contra capcom que vemos
que es una arquitectura de capas tenemos
la capa de modelo que tiene la
responsabilidad de darle el uso o la
entidad de la persistencia a la Data
tenemos la capa de controllers que
prácticamente la responsabilidad de
atender la solicitud de responder y
sobre todo utilizar los modelos una que
otra vez y tenemos la capa de vistas que
es la que vas a ver y podemos tener más
capas y esa es la arquitectura
prácticamente le estamos dando un
sentido una estructura una organización
a nuestro software obviamente para tipo
de arquitecturas en bici nunca vamos a
encontrar una en bici puro vamos a tener
una capa de servicio otra capa mejor de
seguridad otra capa la mejor de
validaciones y así es decir Somos libres
pero le estamos dando un sentido a
nuestro software le estamos dando una
estructura una organización y si has
entendido esto creo que ya puedes ver un
poquito la diferencia que tienen los
patrones arquitectónicos hexagonal micro
servicios nbc a diferencia de patrones
de diseño creacionales estructurales de
comportamiento como builder como fasat
como observador y si vemos esto es que
vamos a ver un nivel de abstracción muy
distinto las arquitecturas ven el nivel
de abstracción muy encima vemos un mapa
muy general del Software los patrones de
diseño vemos una parte singular del
software y para esto vamos a ir a ver
una analogía para que puedas entender
esto y vamos a explicar más a detalle en
que se diferencian para que no te queden
dudas una analogía que a mí me gusta
mucho utilizar para explicar que es una
arquitectura darle una estructura
sentido a algo es la de un centro
comercial todos han ido un centro
comercial y tú puedes ver que un centro
comercial tiene capas una capa es la de
la comida rápida por ejemplo aquí
tenemos la comida rápida si tú
necesitarás un proceso en un sistema
para ponerlo en que sea del tipo comida
rápida aquí lo vas a poner no lo vas a
poner acá regado por acá no tendría
sentido si tienes que poner una tienda
pues tenemos todas esas zonas de tiendas
amarillas para ponerla tú quieres
acceder a una capa inferior tenemos
escaleras es decir tenemos un mecanismo
para ir de manera más lenta o ir de
manera más rápida un elevador tenemos un
estacionamiento Solamente que aquí en el
mapa no se ve el punto es que si tú
entiendes Como está organizado un centro
comercial es prácticamente el sentido
que tiene que tener un sistema un
software es lo mismo hay que darle
sentido estructura a los procesos a los
requerimientos hay que darle esa
estructura para que tú no tengas de
repente una comida rápida acá por acá
por Chedraui no O sea una comida rápida
del estacionamiento eso no tiene sentido
para eso nosotros planeamos Dependiendo
los requerimientos necesitamos un centro
comercial va a tener comida rápida va a
tener baños tenemos que poner los baños
también de una manera estratégica tiene
que tener otros pisos tenemos que poner
escaleras elevadores eso es un sistema
tal cual un sistema por capas cada capa
tiene su responsabilidad y dependiendo
esa responsabilidad si necesitas agregar
un funcionamiento vas a encasillarlo
categorizarlo en esa responsabilidad vas
a tener procesos para unirlas esas capas
aquí tenemos los pasillos y vas a tener
también procesos para acceder a otras
capas que van a ser las escaleras van a
ser los elevadores Bueno ya vimos un
poco de arquitecturas que son de diseño
los patrones y diseño son técnicas que
nos van a servir para un funcionamiento
singular es decir cómo vamos a crear un
objeto Cómo se van a comportar un
conjunto de objetos para un
requerimiento como se va a construir
cierta parte de nuestro software es
decir nos enfocamos a una forma singular
no global general como la arquitectura
de hecho los patrones de diseño tú
puedes utilizarlos en una parte de una
capa de la arquitectura es decir un
patrón de diseño podría ser un
componente la arquitectura se habla
mucho de componentes en arquitectura si
el componente que es pues prácticamente
una parte abstracta y digo abstracta
porque puede ser una parte que puede
estar en una carpeta o no puede estar en
una carpeta y puede ser un patrón de
diseño el punto es que este componente
está en una carpeta está en un archivo
está en un conjunto de archivos va a
tener una responsabilidad y eso es un
componente una responsabilidad un patrón
de diseño tiene una responsabilidad no
más solo una por ejemplo tenemos un
objeto complejo tenemos un patrón de
diseño buildor tiene esa responsabilidad
de solamente crear ese objeto no se
tiene que meter con las otras partes y
si se mete con las otras partes tendría
que existir un protocolo para que reciba
el mensaje de esas otras partes y es por
eso que existen las arquitecturas de
capas y siendo un componente este pues
simplemente sería el obtener esos
mensajes y Cómo puedo obtener esos
mensajes Bueno para eso tenemos algo
llamado inyección de dependencia el cual
te va a inyectar el mensaje que necesito
tu objeto para ser creado Y esa es una
técnica muy útil porque desacopla el
componente de los demás es decir ya no
necesitamos modificar los demás y este
se tiene que modificar Por eso hay que
aprender patrones de diseño para
identificar ciertos objetivos cierta
responsabilidades y saber que la
arquitectura es general global hay una
forma muy fácil de identificar los
patrones de diseño de hecho tú puedes
cambiar un patrón de diseño y No
necesariamente tienes que cambiar la
arquitectura del sistema y el punto en
Sí es que las arquitecturas y los
patrones de diseño conviven de hecho
vamos a ver una analogía ahora para que
さらにアンロック
無料でサインアップしてプレミアム機能にアクセス
インタラクティブビューア
字幕を同期させ、オーバーレイを調整し、完全な再生コントロールでビデオを視聴できます。
AI要約
動画コンテンツ、キーポイント、および重要なポイントのAI生成された要約を即座に取得します。
翻訳
ワンクリックでトランスクリプトを100以上の言語に翻訳します。任意の形式でダウンロードできます。
マインドマップ
トランスクリプトをインタラクティブなマインドマップとして視覚化します。構造を一目で理解できます。
トランスクリプトとチャット
動画コンテンツについて質問します。AIを利用してトランスクリプトから直接回答を得られます。
トランスクリプトをもっと活用する
無料でサインアップして、インタラクティブビューア、AI要約、翻訳、マインドマップなどをアンロックしてください。クレジットカードは不要です。