개발자
비즈니스 로직과 UI 로직의 구분 방법을 잘 모르겠어요. 시니어 백엔드 개발자분께 여쭤봤을 때, 비즈니스 로직은 주로 결정을 내리는 역할을 하며, 순수 함수로 작성되는 경우가 많다고 하셨는데도 이해가 잘 안됩니다. 어떻게 이해해야 할까요?
답변 3
인기 답변
최대한 간단히 표현해 보자면 비즈니스 로직 = 의사결정 UI 로직 = 의사결정에 필요한 정보를 수집하는 창구 + 의사결정 결과 내용을 표현방법 오래된 예시지만 음료수 자판기를 생각해 보세요. 아래는 자판기에서 음료수를 먹는 과정을 요약한 것 입니다. 사용자: 1. 동전 넣는 곳에 동전을 넣는다. (카드 찍는데 카드를 찍는다.) 2. 먹고 싶은 음료수를 골라 알맞은 버튼을 누른다. 3. 잠시 기다린다. 4. 음료수를 꺼내 먹는다. 자판기: 1. 사용자가 결제 했는가? (동전 or 카드) 2. 사용자가 어떤 음료수를 골랐는가? 3. 2번에서 고른 음료수를 음치키음치키 내보내는 과정을 거친다 4. 음료수를 받을 수 있도록 배출구에 안착 시킨다. 사용자와 자판기의 과정은 각각 UI와 비즈니스 로직을 대변합니다.
인기 답변
안녕하세요, 저는 비즈니스 로직과 UI 로직을 이렇게 이해하고 있어요: - 비즈니스 로직 = 해당 도메인에 필수적인 로직들(핵심 기능 및 데이터 처리 과정) - UI/UX 로직 = 사용자와 상호작용하는 시각적인 요소들 비즈니스 로직은 해당 도메인에 필요한 핵심 기능과 그것을 처리하는 과정을 가리킨다고 생각해요. 이제 그것을 사용자의 입력에 따라 어떻게 보여주고, 상호작용하고, 결과를 표시할지 정해주는 게 UI 로직이죠. 온라인 커머스의 어드민 페이지를 예로 들어볼게요. 관리자가 대시보드 페이지에서 데이터들을 한 눈에 보고 싶어해요. 그럼 차트가 있어야겠죠. 차트에 표시될 해당몰의 일별매출, 당일구매건수, 기간별 총매출 등의 데이터들을 처리하고 저장해서, 원하는 결과값을 만들어 제공하는 로직은 비즈니스 로직으로 볼 수 있어요. 그럼 그 데이터들을 차트로 사용자에게 스타일을 적용해서 어떻게 보여줄지, 어떻게 상호작용 할지를 정하는 게 UI/UX 로직이에요. 도넛형식으로 보여줄 수도 있고, 바형식으로 보여줄 수도 있겠죠. 일별매출만 볼 수 있는 버튼을 만들 수도 있구요. 개인적으로 이렇게 성격이 다른 로직을 '리액트는 어떻게 분류 될까?' 궁금해서 생각 해보고 주변에도 물어봤어요. 저는 이걸 보고 개념이 더 명확해진 것 같아서 공유해 봅니다. - UI -> JSX - UI 로직 -> 컴포넌트 & 훅 - 비즈니스 로직 -> 그냥 함수 도움이 되었으면 좋겠네요!
비즈니스 로직과 UI 로직은 소프트웨어 개발에서 기능을 구분하기 위한 방법 중 하나입니다. 비즈니스 로직은 주로 데이터를 처리하고, 데이터베이스에 접근하며, 애플리케이션의 핵심 기능을 담당합니다. 즉, 애플리케이션의 목적을 달성하기 위해 필수적인 로직입니다. 비즈니스 로직은 사용자 인터페이스와 독립적이며, 순수 함수로 작성할 수 있습니다. 이 말은 즉, 비즈니스 로직은 데이터를 처리하고 계산하는 등의 로직을 담당하며, 화면과 상관 없이 데이터를 처리하는 부분이라고 볼 수 있습니다. 반면에, UI 로직은 사용자 인터페이스와 관련된 로직을 담당합니다. 예를 들어, 사용자가 입력한 데이터를 검증하고, 화면을 그리는 등 사용자가 애플리케이션을 사용하는 과정에서 발생하는 로직입니다. UI 로직은 사용자 인터페이스와 밀접하게 연관되어 있으며, 이를 구현하기 위해서는 일반적으로 이벤트 처리 등과 같은 비순수 함수가 필요합니다. 따라서, 비즈니스 로직과 UI 로직은 서로 다른 역할을 가지고 있으며, 이를 분리하여 개발하는 것이 좋습니다. 비즈니스 로직은 UI 로직과 독립적으로 작성되어야 하며, UI 로직에서는 데이터 처리나 계산 등의 로직을 직접 구현하지 않고, 비즈니스 로직에 구현된 기능을 호출하여 사용해야 합니다. 이를 통해 코드의 재사용성과 유지보수성을 높일 수 있습니다.
커리어리 AI 봇의 답변을 평가해 주세요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!