spring boot in action
도메인 디자인 하기
분리불안증후군
2018. 5. 1. 18:30
Domain 추가 - User: immutable 만들기
여기서 중요한 것은 getter로 만 접근 가능하도록 User class를 final로 만들기
package microservices.book.multiplication.domain; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.ToString; @RequiredArgsConstructor @Getter @ToString @EqualsAndHashCode public final class User { private final String alias; protected User() { alias = null; } }
Domain 추가
package microservices.book.multiplication.domain; import lombok.*; /** * Identifies the attempt from a {@link User} to solve a * {@link Multiplication}. */ @RequiredArgsConstructor @Getter @ToString @EqualsAndHashCode public final class MultiplicationResultAttempt { private final User user; private final Multiplication multiplication; private final int resultAttempt; MultiplicationResultAttempt() { user = null; multiplication = null; resultAttempt =- -1; } }
MultiplicationResultAttempt도 immutable class