
비즈니스 로직(Business Logic)은 애플리케이션이 수행해야 하는 실제 작업과 규칙을 정의하는 코드입니다. 이는 데이터를 처리하고, 계산하며, 특정 규칙에 따라 결정을 내리는 등의 핵심 기능을 포함합니다.
MVVM(Model-View-ViewModel) 패턴에서 비즈니스 로직은 주로 다음과 같이 분배됩니다:
Swift MVVM 패턴에서 비즈니스 로직의 예시는 다음과 같습니다:
데이터 변환 및 가공
유효성 검증
계산 및 알고리즘
네트워크 통신 로직
상태 관리
간단한 로그인 기능을 구현하는 MVVM 패턴의 예시를 통해 비즈니스 로직을 살펴보겠습니다:
// Model
struct User {
let username: String
let password: String
}
// ViewModel
class LoginViewModel {
// 입력 바인딩
var username = ""
var password = ""
// 출력 바인딩
var isLoginButtonEnabled: Bool {
return isValidUsername && isValidPassword
}
var loginErrorMessage = ""
// 비즈니스 로직: 유효성 검증
private var isValidUsername: Bool {
return username.count >= 4
}
private var isValidPassword: Bool {
return password.count >= 6
}
// 비즈니스 로직: 로그인 처리
func login(completion: @escaping (Bool) -> Void) {
// 네트워크 요청 비즈니스 로직
AuthService.login(username: username, password: password) { [weak self] result in
switch result {
case .success(let user):
// 비즈니스 로직: 로그인 성공 처리
UserManager.shared.saveCurrentUser(user)
completion(true)
case .failure(let error):
// 비즈니스 로직: 에러 처리
self?.loginErrorMessage = error.localizedDescription
completion(false)
}
}
}
}
위 예시에서 LoginViewModel은 다음과 같은 비즈니스 로직을 포함합니다:
이처럼 비즈니스 로직은 앱의 실제 기능을 구현하는 핵심 코드로, MVVM 패턴에서는 주로 ViewModel에 위치하여 View와 Model 사이의 중재자 역할을 수행합니다.