단일 책임 원칙을 따라야 하는 이유

3928 단어 beginnersprogramming
SOLID 설계 원칙에 이미 익숙한 사용자에게는 이것이 새로운 것이 아닙니다. 그러나 초보자를 위해

SOLID are 5 software development principles or guidelines based on Object-Oriented design making it easier for you to make your projects scalable and maintainable.



규칙이라기보다는 모범 사례에 가깝습니다.

단일 책임



솔리드의 S.

그것은 말한다

A class should have one, and only one reason to change.



목표는 행동이나 관심사를 분리하는 것입니다. 모든 것은 자신의 위치가 있고 거기에 배치되어야 합니다.

원래
  • 더 작은 코드 모듈(클래스/함수 등) 만들기
  • 모듈은 특정 작업만 수행하며 해당 작업에 대해서만 책임을 집니다.
  • 정확히 수행하는 작업에 따라 이름이 지정됩니다.

  • 책임과 동작이 다른 대형 일반 클래스와 반대입니다.

    이 패턴은 우리가 역할별 인터페이스를 만드는 데 집중하는 것과 같은 다른 SOLID 원칙에서 볼 수 있습니다.

    간단한 사용 사례



    임의의 사용자 데이터를 일부 데이터베이스에 저장한다고 가정해 보겠습니다. 이것은 우리가 일반적으로 함수(pseudocode-ish) 내에서 수행하는 것입니다.

    function createUser(userData){
        // 1. validate user data for email and password keys
    
        // 2. check if the email is already registered
    
        // 3. save the user to DB 
    
        // 4. return saved user as a response
    }
    


    SINGLE RESPONSIBILITY 접근 방식을 통해 우리는 특정 논리를 처리하고 이에 대해서만 책임지는 전용 기능을 만들 것입니다.

    function validateUser(user){
        // will validate userObject for email and password keys
    }
    
    function isEmailRegistered(email){
        // will check if the email is already taken 
    }
    
    function saveUserData(user){
        // will save user data to db
    }
    
    function createUser(userData){
        validateUser(userData)
    
        if(isEmailTaken(userData.email)){
          // throw some error here
        }
    
        var user = saveUserData(userData)
    
        return user
    }
    


    이것은 간단한 예이지만 여러 유효성 검사 및 복잡한 논리를 처리할 때 이러한 유형의 접근 방식은 정말 편리합니다.

    그것을 사용하는 이유



    이것들을 고려하십시오
  • 따라하기 쉽고 이해하기 쉬운
  • 간편한 디버깅
  • 제거 및 리팩터링이 이전보다 훨씬 간단합니다.
  • 두려움 없이 더 큰 변화를 만들 수 있습니다.
  • 확장 및 유지 관리가 가능합니다
  • .

    또한 변경해야 하는/해야 하는/원하는/강제적인-시간이 있고 SINGLE RESPONSIBILITY를 따랐을 때 훨씬 빠르고 쉬울 것입니다.

    무언가를 깨뜨리거나 버그가 있으면 어떻게 합니까? 음, 이 원칙에 따라 쉽게 추적할 수 있으며, 무언가를 깨뜨리면 전체 시스템이 아니라 그 한 가지만 깨뜨리는 것입니다.

    이 규칙은 다음과 같은 다른 SOLID 원칙을 구현하는 데 많은 도움이 됩니다.



    자신의 프로젝트에 대한 테스트를 작성하는 사람이라면 이 규칙을 확실히 좋아할 것입니다. 이 규칙은 예측 가능한 동작과 제어를 제공합니다.


    여기 있습니다. 간단하고 쉽게 설명했으면합니다. 프로젝트에서 SOLID 원칙을 사용합니까? 아래에 댓글을 달아주세요.

    무엇 향후 계획



    2분 안에 원리에 대해 Laern.

    좋은 웹페이지 즐겨찾기