Arquitectura de Software

1

Arquitectura en Android

2

Patrón de diseño vs. Arquitectura de Diseño

3

¿Qué es la Arquitectura de Diseño?

4

SOLID: Single Responsability y Open/Closed Principles

5

SOLID: Liskov substitution, Interface segregation y Dependency Inversion principle

6

Evolución de la Arquitectura en Android

Arquitectura Model View Controller (MVC)

7

¿Qué es la aquitectura Model View Controller (MVC)?

8

MVC en un Proyecto Android: Analizando el código en capas

9

MVC en un Proyecto Android: Llevando el código a sus responsabilidades

Arquitectura Model View Presenter (MVP)

10

¿Qué es la aquitectura Model View Presenter (MVP)?

11

¿Qué es Clean Architecture?

12

Composición en Clases

13

Model View Presenter explicado

14

Capa Model

15

MVP en un Proyecto Android: Presenters y Views

16

MVP en un Proyecto Android: Model

17

Ubicando el código en MVP

Arquitectura Model View ViewModel (MVVM)

18

¿Qué es la arquitectura Model View ViewModel (MVVM)?

19

¿Cómo funciona MVVM Data Binding?

20

MVVM Data Binding estructurando nuestra aplicación y migrando a AndriodX

21

MVVM DataBinding creando un ViewModel

22

Patron Observer en MVVM

23

MVVM Data Binding: integrando ViewModel a View

24

MVVM Data Binding: RecyclerView Adapter

25

MVVM Data Binding: RecyclerView CardView

Android JetPack Arquitectura

26

¿Qué es Android JetPack Arquitectura?

27

¿Cómo funciona la arquitectura de componentes?

28

Arquitectura Componentes Lifecycle ViewModel

29

Arquitectura Componentes Lifecycle Observe

Fin del curso

30

Conclusiones

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de Arquitectura de Android

Curso de Arquitectura de Android

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Composición en Clases

12/30
Recursos

Aportes 10

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

COMPOSICIÓN

Nos permite extender funcionalidades hacia una clase en particular,
de interfaz a clase y no de clase a clase.

Entidades/clases: contienen ciertos atributos y comportamientos.

En la composición se abstraen las funcionalidades a traves de una
interfaz. En la clase se conservan las propiedades o atributos, en cambio
las funcionalidades se declaran en la interfaz. De esta manera se puede
reutilizar el comportamiento que ofrece la interfaz, en otras clases.

la idea de COMPOSICIÓN en el enfoque Orientado a Objetos se refiere a que una clase necesita de otras para existir. El cásico ejemplo es el de un AUTO, esta clase necesita de otras como son LLANTAS, MOTOR, PALANCA DE CAMBIOS, VOLANTE, PUERTAS, ESPEJOS, etc
ENTONCES, la clase auto usará las funcionalidades (métodos) de cada una de estas clases

Tengo entendido que la composición de clases consta de crear una instancia de un objeto de la clase “padre” adentro de la clase “hija”.

Como explican en aquí

¿Por qué nombras interfaces? Las interfaces son para crear un compromiso de implementación, me causa dudas.

Herencia vs Composición https://devexperto.com/herencia-vs-composicion/

Composición en Clases

La composición es el agrupamiento de uno o varios objetos y valores, como atributos, que conforman el valor de los distintos objetos de una clase. Normalmente, los atributos contenidos se declaran con acceso privado (private) y se inicializan en el constructor de la nueva clase.

Componer una clase con diferentes elementos (interfaces)

Básicamente vamos a especificar las funcionalidades de nuestra clase añadiendo los métodos existentes en una o mas interfaces a través de la implementación de estas en nuestra clase.

Composición: implementar varias interfaces en un clase; para que esta clase tenga el comportamiento de todas estas interfaces.

COMPOSICIÓN EN CLASES:
• Más recomendado que herencia (lo que normalmente pensamos)
• Permite extender funcionalidades hacía una clase
• Lo hacemos de una interfaz a una clase, en lugar de una clase a una clase
• Se analizan entidades, se convierten en clases, tienen atributos y comportamientos.
• Para reutilizar el comportamiento se lo pasamos a una clase HIJA, hacemos herencia.
• En lugar de usar clases usaremos interfaces, esto es composición.
• Definimos el comportamiento de la clase en una interfaz,
• Para las interfaces tenemos “herencia múltiple” que sería implementación.
• Composición el acto de implementar o componiendo una clase con diferentes interfaces.
• En esto se basa MVP.
• Vamos a tener vistas, presentadores, interactores, repositorios.

Excelente clase 😄