본문 바로가기
푸닥거리

인프라스트럭처 로직(infrastructure logic) 과 비즈니스 로직(business logic)

by [김경민]™ ┌(  ̄∇ ̄)┘™ 2023. 8. 12.
728x90

 

소프트웨어 개발에서 "인프라스트럭처 로직(infrastructure logic)"과 "비즈니스 로직(business logic)"이라는 용어들은 응용 프로그램을 설계하고 구축할 때의 관심사 분리를 나타냅니다. 이러한 분리는 응용 프로그램을 모듈화하는 데 도움을 주어 유지 관리, 확장성, 변경되는 비즈니스 요구에 대한 적응성을 향상시킵니다. 각 개념을 자세히 살펴보겠습니다:

 

1.비즈니스 로직:

  • 정의: 비즈니스 로직은 응용 프로그램의 핵심 연산 기능을 나타내며 도메인 특정 작업과 관련이 있습니다. 이것은 비즈니스 또는 도메인의 실제 세계 규칙, 작업, 정책을 모델링하는 소프트웨어의 부분입니다.
  • 예시: 은행 애플리케이션을 설계하는 경우 비즈니스 로직은 이자율에 관한 계산, 인출 한도에 관한 규칙, 계정 생성에 대한 유효성 검사를 포함할 수 있습니다.
  • 중요성: 비즈니스 로직은 애플리케이션의 최종 사용자에게 제공하는 가치의 본질입니다.
  • 위치: Model-View-Controller (MVC)와 같은 구조화된 디자인에서 비즈니스 로직은 종종 Model에 위치합니다.

 

728x90

 

 

2.인프라스트럭처 로직:

  • 정의: 인프라스트럭처 로직은 애플리케이션의 기초적인 부분으로, 비즈니스 규칙과 직접적으로 관련이 없지만 소프트웨어의 기능에 필수적인 작업과 관련이 있습니다.
  • 예시: 같은 은행 응용 프로그램에서 인프라스트럭처 로직은 데이터베이스 작업, 로깅 메커니즘, 네트워크 통신 및 캐싱 메커니즘을 포함할 수 있습니다.
  • 중요성: 인프라스트럭처 로직은 애플리케이션의 주요 기능을 방해하거나 비효율적으로 만들 수 있으므로 효과적인 인프라스트럭처 로직 없이는 가장 잘 정의된 비즈니스 로직조차 실패하거나 비효율적일 수 있습니다.
  • 위치: 구조화된 디자인에서 인프라스트럭처 로직은 여러 계층에 걸쳐 있을 수 있지만 종종 비즈니스 로직 또는 사용자 인터페이스에 의해 호출될 수 있는 계층 또는 모듈에 캡슐화됩니다.

 

3.두 로직 간의 관계:

비즈니스와 인프라스트럭처 로직의 분리는 소프트웨어를 더 유지 관리하기 쉽고 모듈화하기 위해 목표로 합니다. 비즈니스 로직(핵심 연산 규칙)을 기반 구조(인프라스트럭처 로직)에서 분리함으로써 개발자는 다음을 할 수 있습니다:

  • 하나를 변경하거나 수정하더라도 다른 하나에 영향을 주지 않습니다.
  • 효과적으로 재사용하고 확장합니다.

 

요약하면, 소프트웨어 개발 분야에서 비즈니스 로직은 도메인에 특정한 규칙과 작업을 캡슐화하며, 인프라스트럭처 로직은 응용 프로그램을 지원하는 기본 서비스와 관련이 있습니다. 그들을 구분하는 것은 유연하고, 유지 관리가 가능하며, 확장 가능한 소프트웨어 시스템을 구축하는 데 필수적입니다.

 

728x90

댓글