Ir al contenido principal

Destacado

C4 Model | Por una mejor comunicación

Introducción. Han pasado muchos años desde la introducción de UML en el ámbito del desarrollo de software, con la llegada de Agile , la forma de desarrollar software cambió drásticamente: algunos conceptos evolucionaron, aparecieron nuevos mientras que otros fueron abandonados. Hoy en día, UML es utilizado por contadas personas,  la propia industria ha dejado de lado aquellos elaborados diagramas,  recurriendo a diagramas genéricos o diagramas parciales, altamente variados entre sí, para representar y describir arquitecturas/diseños. Aquí es donde entra Simon Brown , quien identificó este problema de comunicación dentro de las organizaciones. Para solucionarlo, desarrolló el modelo C4 , un sistema de modelos, capaz de describir el software de manera clara y accesible, no solo para  los equipos de desarrollo y arquitectos sino para todo aquel interesado en comprender el funcionamiento y  estructura de un sistema . Modelo C4. El modelo C4 se basa en un c...

Typescript | keyof

Typescript es un super conjunto de javascript, lo que significa que extiende javascript agregando nuevas funcionalidades mientras conserva la sintaxis y el comportamiento del mismo.

Una de esas funcionalidades es el sistema de tipos estáticos que pone a nuestra disposición, que entre otras cosas, nos permite ser explícitos con respecto a la forma de las interfaces que compondrán nuestra aplicación.

Además de los tipos primitivos, arreglos, literales, uniones, etc. Typescript nos permite crear tipos basados en otros tipos.

La forma más común es mediante el uso de genéricos pero además existen varios operadores de tipos que podemos usar, uno de ellos es keyof.


Tipos basados en otros tipos


Operador keyof.

Es un operador que toma un tipo de objeto y produce un tipo de unión literal con las propiedades del mismo.



En este ejemplo ClavesDePersona es un tipo de unión literal compuesto por: nombre y edad,  que corresponden a las "propiedades" del tipo Persona.

Todas las variables definidas usando este nuevo tipo sólo aceptarán como valor alguna de las cadenas pertenecientes a dicha unión; Asignar cualquier otra cadena resultará en un error de compilación.

Esto es particularmente útil cuando queremos trabajar con las propiedades de los objetos de una forma más "segura". 




Otros usos.

También se emplea en la creación de los famosos tipos mapeados (mapped types) que no son más que una forma de transformar un tipo existente para crear un tipo nuevo; Pero de ellos hablaremos en otra entrega.


C you, space cowboy!

Comentarios

Entradas populares