사랑해 마니마니

도메인 디자인 하기 본문

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

immutable class가 뭔가요?

'spring boot in action' 카테고리의 다른 글

macOS IntelliJ 단축키  (0) 2018.07.24
Business Logic Layer 추가하기  (0) 2018.05.01
스프링 부트 마이크로서비스 - 도메인  (0) 2018.04.21
3Tier 로 고치기  (0) 2018.04.21
Microservice @spring boot  (0) 2018.04.21
Comments