Modelo Imutável Swift

Poucas regras para tornar o código LIMPO:

1. Declare propriedades constantes var

2. Coloque apenas os campos de desaceleração e construtores na declaração do modelo

3. Coloque a lógica do modelo emExtensions

Exemplo de código.

class Person {
let firstname: String
let lastname: String
let age: Int

init
(firstname: String, lastname: String, age: Int) {
self.firstname = firstname
self.lastname = lastname
self.age = age
}
}

Mova todo o login para extensões

extension Person {    
func age
(age: Int) -> Person {
return Person(firstname: firstname, lastname: lastname, age: age)
}
}