TIL(Today I Learned)
21.04.06 TIS
nauni
2021. 4. 6. 21:27
- Algorithm
solved kakao "신규 아이디 추천". It is about using Regex Expression. I could meaningful usage of re.sub.
- Chess Mission
I submitted PR again. There is still enough room to progress but I implemeted Test codes of GameState and reflected the feedback. I studied structure of Packages and Dto, Service Layers.
학습로그 2-2
[OOP] Package구조 - 3
내용
- 일반적으로 domain, service, dao 패키지로 나뉘는 듯 하다.
- dao: DB에 접속하여 데이터를 가져오는 클래스. 일반적으로 Dao는 테이블당 하나 만들게 됨
- service: domain과 dao로 직접 접근하여 기능 구현. dao 연동뿐 아니라 데이터베이스에 종속되지 않는 로직을 구현.
- dao, service 모두 호환을 위해 인터페이스를 만들고 구현하는 방식을 사용하기도 함
링크
패키지 구조를 어떻게 가져가는게 좋을까?
계층별 패키지 구성하기
스프링 입문을 위한 자바 객체 지향의 원리와 이해(책)
[Structure] Service Layer - 4
내용
- Data Access Layer: 개별 SQL을 처리하는 것을 목표로 한다.
- Service Layer: 여러 Data Access Layer를 하나로 묶어 관리한다. 데이터 베이스에 대한 트랜젝션을 관리한다.
- 기능 단위로 interface의 책임을 작게 구성하는 것이 좋다.
- 의존성주입을 통해 Service를 구현한 class가 사용되는 듯 하다.
링크
Service Layer
Service의 적절한 크기 가이드
[Structure] VO, DTO - 3
내용
- DTO(Data Transfer Object)
- 데이터 전달용, 데이터를 담아 전달하는 바구니
- 계층 간 데이터를 전달 (Controller~Service)
- getter, setter 이외의 다른 로직을 갖지 않음
- DTO도 불변객체 가능
- VO(Value Object)
- 값 표현용, 값 그 자체를 표현하는 객체
- equals, hashCode 오버라이딩을 하여 비교한다.
참고
- 테코톡
[Java] try with resources - 4
내용
- java 7 부터 지원
- 그전에는 finally를 사용하여 리소스를 정리해주었다.
- 사용한 리소스를 종료할 때 반드시 닫아줌(정리해줌)
- try catch 절이 종료되면 자동으로 close()를 호출해준다.
- try 구문의 ()부분에 정리할 리소스를 넣어준다.
try (정리할 리소스) { ...내용... } catch (Exception e) { }