티스토리 뷰

728x90

Builder

  • 생성자를 유동적으로 사용 가능해짐.
  • 객체 생성을 유동적으로 할 수 있음.
  • 일부 파라미터를 놓치는 휴먼 에러가 발생할 수 있음.

 

장점

  • 생성자를 하나로 관리할 수 있다.
  • 긴 파라미터를 정리할 수 있다.

 

단점

  • 종종 필요한 파라미터를 누락할 경우 컴파일러가 캐치 못하는 경우가 있음.

 

엔티티

  • Entity는 Jpa와 관계 없다.
  • 도메인 엔티티와 DB 엔티티를 구분할 수 있다.

 

도메인 엔티티

  • 비즈니스에서 어떠한 문제를 해결하기 위해 만들어진 모델.
  • 비즈니스 로직을 갖고 있고, 식별 가능하며, 생병주기를 갖고 있음.
  • 보통 개랍에서 얘기하는 Entity는 도메인 Entity임.

 

DB 엔티티

  • 데이터베이스에서 표현하려고 하는 유/무형의 객체를 구별한 것.

 

도메인 Entity -> 클레스로 표현, 비즈니스 영역을 해결하는 모델.
영속성 객체 -> ORM
DB Entity -> table에 표현, RDB에 저장되는 객체

 

도메인 Entity와 영속성 객체는 분리되어야함.

  • RDB에 종속이 됨.
  • RDB가 아닌 NoSQL(Document) 등에선 다른 개념이 적용됨.

 

Test와 관련된 기타 조언

private/final 메서드

  • private 메서드는 테스트하지 않아도 된다.
  • final 메서드를 stub 해야 하는 상황이 올 경우 설계가 잘 못 된 것이다.
  • final 메서드는 변경되면 안되는데, 이를 강제로 stub 하는 상황은 잘못 된 것임.

 

DRY < DAMP

  • DRY(Don't Repeat Yourself)
  • DAMP(Descrptive And Meaningful Phrase) : 테스트할 땐 중복되더라도 가독성이 좋은 게 낫다.

 

논리 로직을 피하라

 

728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함