본문 바로가기

Development/Spring Boot

[Spring Boot] 비즈니스 요구사항과 설계 (2)

강의 순서상 스프링 프레임워크와 관련된 내용 없이 객체지향에 대한 학습이 먼저 이루어짐.

 

  • 회원 도메인 설계
    • 회원 도메인 요구사항
      • 회원 가입 및 조회 가능
      • 회원은 일반과 VIP 두 가지 등급이 있음
      • 자체 DB를 구축할 수 있고 외부 시스템과 연동할 수 있음 (미확정)
        • 이 저장소는 미확정이기에, '회원저장소'라는 역할의 인터페이스 생성
        • 구현체의 예시는 세 가지의 경우가 존재할 수 있음
          (1) 메모리 회원 저장소
          (2) DB 회원 저장소
          (3) 외부 시스템 연동 회원 저장소
        • 앞서 이야기했듯 회원 저장소는 미확정임. 그렇기에 개발에서 테스트하고 쓸 수 있도록 자바를 활용한 메모리 회원 저장소로 일단 구현 수행.
        • 회원저장소 역할의 인터페이스를 만들면 나중에 확정시 구현체를 갈아끼우기 용이해짐.
  • ~ Impl : 이뜻은 구현체라는 뜻
  • 객체 다이어그램: 객체 간의 메모리 참조를 표현한 것을 의미함.

  • 항상 그림은 개념적으로 세 가지가 나타남
    • 도메인 협력 관계 : 기획자와 소통하기 위한 하나의 장표가됨
    • 클래스 다이어그램
      • 도메인 협력 관계를 클래스로 구체화한 것
      • 인터페이스와 구현체들이 나타남
      • 클래스만 분석해 볼 수 있는 그림
      • 서버를 실행하지 않고 어떤 관계를 갖는지 파악할 수 있으나, 실제로 특정 인터페이스레 어떤 구현체가 구현하는지 알 수 없기에 객체 다이어그램을 활용함
    • 객체 다이어그램
      • 유효한 인스턴스 간의 참조를 나타냄