我们通常在java中使用builder模式,像这样:
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}))
所以,我的问题是,有没有一种优雅的方式来实现这一点?