Skip to content

damacri86/BuilderPattern

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Builder Pattern

Pattern Languages

Motivación

¿Ya te llegó aquel día en el que construir un objeto se convirtió en un largo inicializador con un tedioso proceso de escribir uno a uno todos lo parametros de entrada? A mi si.

Y la verdad que no quedaba ni bonito, ni elegante, ni me terminaba de gustar por más que diera saltos de línea en Objective C. En Swift ya ni os cuento.

Pero con cada problema llega un patrón.

Idea

Separar la construcción compleja de un objeto de su representación.

Problema

Pasar de:

var spiderman = SuperHero(name: "Spiderman", superPower: "Spider Powers", alterEgo: "Peter Parker")

a:

let details = SuperHeroBuilder { builder in
    
    builder.name = "Spiderman"
    builder.superPower = "Spider Powers"
    builder.alterEgo = "Peter Parker"
}

var spiderman = SuperHero(builder: details)

Solución

Dentro del playground podréis ver la implementación de este pequeño ejemplo de una forma corta, elegante y fácil de entender. Separando el constructor de un súper héroe de su propia representación.

About

Example of Builder Pattern in Swift

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages