Skip to content

현실에서의 함수형 사고

함수형 프로그래밍은 이론뿐 아니라 실제 소프트웨어 구조와 동작을 바라보는 사고방식에도 도움을 줍니다. 여기서는 계층형 설계와 타임라인 다이어그램을 통해 현실에서 함수형 사고를 적용하는 방법을 살펴봅니다.

스터디 회차: 1회차 (2025년 8월 13일)

계층형 설계 (Stratified Design)

소프트웨어는 계층 구조를 통해 안정성과 변화 가능성을 균형 있게 다룰 수 있습니다.

계층형 설계

예시

  • 가장 위 계층: 자주 바뀌는 부분
  • 가운데 계층: 바뀔 수도 있지만 자주 바뀌지 않는 부분
  • 가장 아래 계층: 거의 변하지 않는 부분

특징

  • 각 계층은 바로 아래 계층을 기반으로 만들어집니다.
  • 아래 계층일수록 안정적이고 바꾸기 어렵지만, 자주 바뀌지 않습니다.
  • 위쪽 계층일수록 쉽게 교체 가능하며, 변화에 유연합니다.

TIP

이런 구조 덕분에 안정적인 기반 위에서 변화하는 요구사항을 수용할 수 있습니다.

타임라인 다이어그램 (Timeline Diagram)

계층형 설계

액션은 실행 시점에 의존하기 때문에 실행 순서를 이해하는 것이 중요합니다. 이를 시각적으로 표현하는 도구가 바로 타임라인 다이어그램입니다.

  • 시간의 흐름에 따라 액션이 어떤 순서로 실행되는지 보여줍니다.
  • 여러 타임라인이 동시에 진행될 때는 타임라인 '커팅' 기법을 사용하여 실행 순서를 맞출수 있습니다.
  • 특히 분산 시스템처럼 동시에 실행되는 작업을 다루는 데 효과적입니다.

TIP

타임라인 다이어그램은 복잡한 액션의 관계를 단순하고 실행순서에 따라 직관적으로 보여줍니다.

정리하기

  • 계층형 설계는 안정적인 기반 위에 변화하는 부분을 얹는 방식으로 소프트웨어를 구조화합니다.
  • 타임라인 다이어그램은 액션의 실행 시점과 순서를 시각화하여 이해하기 쉽게 만듭니다.
  • 결국 함수형 사고는 시간과 구조라는 두 가지 차원에서 소프트웨어를 더 잘 다루게 해줍니다.