일반적인 웹 어플리케이션 구조 컨트롤러: 웹 MVC 컨트롤러 서비스: 비지니스 로직 레포지토리: 데이터베이스 접근, 도메인 객체 관리 도메인: 회원 정보, 주문 등 비지니스의 도메인 객체 비지니스 요구사항 분석 데이터: 회원 ID, 이름 기능: 회원 등록, 조회 아직 데이터베이스가 선정되지 않았다는 가상의 시니리오 Domain: Member 이름과 ID를 멤버로 가지는 회원 도메인 클래스를 정의했다. Repository: MemberRepository interface 아직 데이터베이스가 선정되지 않았다는 가상의 시나리오가 있었으므로 구현 클래스를 변경할 수 있도록 interface를 먼저 정의했다. Member 객체를 저장하고 조회하는 기능을 정의했다. Repository: MemoryMemberRepository 빠른 예제 확인을 위해 실행 중 메모리를 사용하는 간단한 구현체를 작성했다. Member 객체는 Long type key를 가지는 map