Обикновено използваме модел на строител в java, като този:
UserBuilder userBuilder = new UserBuilder();
User John = userBuiler.setName("John")
.setPassword("1234")
.isVip(true)
.visableByPublic(false)
.build();
Някои от атрибутите имат стойност по подразбиране, а други не.
Предаването на атрибути в карта може да е решение, но прави аргумента наистина по-дълъг:
(def john (make-user {:name "John" :pass "1234" :vip true :visible false}))
И така, въпросът ми е има ли елегантен начин да се постигне това?