SRP - 단일책임원칙

유건희·2023년 7월 5일
0

디자인패턴

목록 보기
1/1

단일책임원칙

Single Responsibility Principle(SRP)

  • 객체(클래스)는 단 하나의 책임만 가져야 한다는 원칙을 말한다.
  • 여기서의 책임은 하나의 기능이라 생각하면 된다.

단일책임원칙을 준수하지 않는 경우

class UserManager {
  
    var username: String = ""
    var email: String = ""
    var age: Int = 0
    
    func saveUserInfo() {
        // 사용자 정보를 저장하는 코드
    }
    
    func validateUserInfo() -> Bool {
        // 사용자 정보를 유효성 검사하는 코드
        // 유효하지 않은 경우 false, 유효한 경우 true 반환
    }
    
    func sendEmailVerification() {
        // 이메일 인증을 보내는 코드
    }
    
    func logInUser() {
        // 사용자 로그인 처리하는 코드
    }
    
    func logOutUser() {
        // 사용자 로그아웃 처리하는 코드
    }
}

단일책임원칙을 준수하는 경우

class UserManager {
  
    var username: String = ""
    var email: String = ""
    var age: Int = 0
    
    func saveUserInfo() {
        // 사용자 정보를 저장하는 코드
    }
    
    func validateUserInfo() -> Bool {
        // 사용자 정보를 유효성 검사하는 코드
        // 유효하지 않은 경우 false, 유효한 경우 true 반환
    }
}

class EmailManager {
  
    func sendEmailVerification() {
        // 이메일 인증을 보내는 코드
    }
}

class AuthManager {
  
    func logInUser() {
        // 사용자 로그인 처리하는 코드
    }
    
    func logOutUser() {
        // 사용자 로그아웃 처리하는 코드
    }
}
profile
하고싶은 일이 생기면 될 때 까지 해보자 !!

0개의 댓글