Representação de entidades de domínio com mapas


Para representar informações de domínio com um conjunto de campos conhecidos antecipadamente, utiliza-se frequentemente maps com keywords como chaves.

Exemplo de entidade:

(def person
  {:first-name "Kelly"
   :last-name "Keen"
   :age 32
   :occupation "Programmer"})
 

As operações de manipulação de maps com assoc e dissoc funcionam normalmente nessas entidades para adicionar, modificar ou remover campos.

Referências


https://clojure.org/guides/learn/hashed_colls#_representing_application_domain_information