Swift와 SOLID: 좋은 코드를 작성하는 방법

minin·2021년 11월 18일
0

Swift연습장

목록 보기
5/11
post-thumbnail

Swift와 SOLID

SOLID: 객체 지향 프로그램 및 설계의 기본원칙 다섯개

  1. Single Responsibility Principle(SRP)

    : 단일 책임 원칙

    → 모든 클래스는 하나의 책임만을 가져간다.

    ! 클래스를 작게 만드는 것 ! 함수는 하나의 작업만 !

    ex) 10-200룰: 함수는 10줄 이내, 클래스는 200줄 이내로 만드는 것

  1. Open-Closed Principle(OCP)

    : 개방 폐쇄 원칙

    → 확장에는 열려 있으나, 변경에는 닫혀 있어야 한다.

    • 확장: 기능 추가나 변경을 할 수 있다
    • 변경: 기능 추가를 할 때 그 모듈을 쓰고 있는 코드들을 모두 수정하지 않아야 한다.

    ! if/switch문을 최대한 안 쓰는 방법을 통해 연습 ! ← 헉,,

    → protocol(or class)를 만들어 추상화 해서 사용한다.

    → dictionary 활용 (but. case가 자주 변경될 것 같을 때는 피하기, 분기분 없애고 싶을 때 제한적 사용)

  1. Liskov Subtitution Principle(LSP)

    : 리스코프 치환 원칙

    → 상위 슈퍼클래스를 하위의 서브클래스의 인스턴스로 바꾸어도, 프로그램 동작을 해치지 않아야 한다.

    → 자식이 부모의 동작을 제한해서는 안된다.

    ! protocol 활용하여, 다르게 구현하면 된다!

  2. Interface Segregation Principle(ISP)

    : 인터페이스 분리 원칙

    → 사용하지 않는 메서드는 구현하지 않는다.

    → 일반적인 인터페이스 << 각각의 구체적인 인터페이스 good

    ! protocol을 세분화 !

  3. Dependency Inversion Principle(DIP)

    : 의존관계 역전 원칙

    → 상위 클래스가 하위 클래스에 의존하지 않도록 한다!

    → 구체타입(class)에 대한 의존도를 낮추고, 추상타입(protocol)의 의존도를 높인다.

    ! protocol을 사용하여 추상화 진행 !

⇒ SOLID를 위반하는 많은 경우는 protocol을 활용하여 해결하는 예제들을 볼 수 있었다.

🐾 이론으로만 남기지 않고, 활용할 수 있도록 노력하기

profile
🍫 iOS 🍫 Swift

0개의 댓글