Go Framework Project ACTIVE

## *[ACTIVETHING](https://activething.com) Software Fabrik* > Source [git.activething.com/go](https://git.activething.com) > ✍️ Autor [Juan V. Navarro](juanvnl@activething.com) # blds (ActiveBuiLDerS) blds es una librería de Go diseñada para facilitar la creación eficiente y rápida de serializaciones o formatos de objetos, mapas, listas, y otros tipos de datos comunes en Go. Su propósito principal es proporcionar una alternativa eficiente a la reflexión en Go, que puede tener un coste de ejecución considerable. ## ¿Qué hace ablds? **blds** proporciona una serie de interfaces y tipos que permiten construir y manipular estructuras de datos de forma modular y flexible, evitando así el uso de reflexión. Estas estructuras de datos pueden ser luego serializadas en diferentes formatos, como JSON, XML, o cualquier otro formato personalizado, según las necesidades del usuario. ## ¿Cómo funciona? La librería se basa en dos conceptos principales: los **Builders** y los **Buildables**. - **Builders**: Son interfaces que definen métodos para construir diferentes tipos de estructuras de datos. Por ejemplo, tenemos builders para listas, mapas, y objetos. - **Buildables**: Son interfaces que representan los diferentes tipos de datos que pueden ser construidos utilizando los builders. Estos tipos pueden incluir cualquier cosa, desde valores simples como strings o números hasta estructuras de datos más complejas. **blds** ofrece una serie de métodos para cada tipo de builder, lo que permite agregar y configurar los datos de manera incremental y modular. Esto hace que la construcción de estructuras de datos sea más flexible y fácil de manejar, especialmente en casos donde se necesita construir objetos complejos con múltiples niveles de anidamiento. ## Ejemplo de Uso ```go // Crear un objeto blds builder := NewObjectBuilder() // Agregar campos al objeto builder.Field("name").String("John Doe") builder.Field("age").Int(30) builder.Field("is_active").Bool(true) // Construir el objeto obj := builder.Build() // Serializar el objeto a JSON jsonBytes, _ := json.Marshal(obj) fmt.Println(string(jsonBytes)) ``` *** 🔒 Copyright 2024 [activething.com](https://activething.com)