웹 애플리케이션 계층 구조
- 컨트롤러: 웹 MVC의 컨트롤러 역할
- 서비스: 핵심 비즈니스 로직 구현
- 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리
- 도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨
tdd 란 ?
- 테스트 주도 개발
- 테스트를 먼저 만들고 구현 클래스를 만들어서 돌려보는 것
- 개발을 다 끝내고 테스트 클래스를 작성하는 것이 아닌, 테스트 클래스를 먼저 작성하고 검증
- ex) 세모 모양 작품을 만들거면 미리 검증가능한 세모 틀을 만들어두고 작품이 완성되면 그 틀에 맞춰보고 맞는지 확인
인터페이스란 ?
- 어떤 기능에 대한 규격이라고 보면 이해하기 쉬울 듯!
- ex) phone이란 인터페이스에 전화걸기, 문자하기 등의 규격을 정해놓으면 폴더폰, 슬라이드폰, 스마트폰이 그 인터페이스를 상속받아 사용
- 상수필드와 추상메소드만으로 구성되어 있음 (그래야 껍데기를 가져다가 사용하니까)
- 인터페이스를 구현하는 클래스가 구현체 클래스