업무규칙

Gooreum·2021년 11월 5일
0

클린아키텍처

목록 보기
20/33

1.업무규칙이란

  • 업무규칙이란 사업적으로 수익을 얻거나 비용을 줄일 수 있는 규칙 또는 절차다.
  • 컴퓨터상으로 구현했는지와 상관없이, 업무 규칙은 사업적으로 수익을 얻거나 비용을 줄일 수 있어야 한다. 사람이 수동으로 직접 수행하더라도 마찬가지다.
    • 은행 - 대출시 N% 이자를 부과하는 것.
    • 이러한 규칙을 핵심 업무 규칙이라고 부른다.
  • 핵심 업무 규칙은 데이터를 요구한다. 예를 들어 대출은 대출 잔액, 이자율, 지급 일정이 필요하다.
    • 이러한 데이터를 핵심 업무 데이터라고 부르자.

2.엔티티

  • 엔티티는 컴퓨터 시스템 내부의 객체로서, 핵심 업무 데이터를 기반으로 동작하는 핵심 업무 규칙을 구체화한다.
  • 엔티티의 인터페이스는 핵심 업무 데이터와 핵심 업무 규칙을 구현한 함수들로 구성된다.

  • Loan 엔티티 UML 클래스로 표현.
  • 엔티티 클래스는 데이터베이스, 사용자 인터페이스, 서드파티 프레임워크에 대한 고려사항들로 부터 독립적고 어떤 시스템에서도 업무를 수행할 수 있어야 한다.
  • [질문]주로 엔티티는 인터페이스나 추상 클래스 형식으로 관리하는 것인가? 고수준 정책이기 때문에? → 간단한 데이터 클래스로 관리 / 자바의 포조 클래스 / 우리의 앱에서 필요로 하는 DTO 형태.

3.유스케이스

  • 유스케이스는 사용자가 제공하는 입력과 사용자에게 보여줄 출력, 해당 출력을 생성하기 위한 처리 단계를 기술한다.
  • 엔티티 내의 핵심 업무 규칙과는 반대로 유스케이스는 애플리케이션에 특화된 업무 규칙을 설명한다.
  • 유스케이스는 엔티티 내부의 핵심 업무 규칙을 어떻게, 그리고 언제 호출 할지를 명시하는 규칙을 담는다.
  • 유스케이스(저수준)는 엔티티(고수준)를 의존한다.
    • 유스케이스가 저수준인 이유는 엔티티보다 입력과 출력이 더 가깝게 위치하기 때문이다.
  • 유스케이스는 사용자 인터페이스를 의존하지 않는다.

4.요청 및 응답 모델

  • 요청 및 응답 모델은 독립적이어야 한다. 그렇지 않으면 그 모델에 의존하는 유스케이스도 결국 해당 모델이 수반하는 의존성에 간접적으로 결합되어 버린다.
profile
하루하루 꾸준히

0개의 댓글