tevelop RSS 태그 관리 글쓰기 방명록
2022-11-21 21:09:29

SOLID

 

  • SRP(Single Responsibility Principle) - 단일 책임 원칙
    • 한 클래스는 하나의 책임만 가져야 한다.
    • 하나의 책임의 기준은 변경이다.
      • 변경이 발생했을 때, 변경해야 될 부분이 적으면, 단일 책임 원칙을 잘 따른것.
      • 클래스를 변경해야하는 이유가 오직 하나여야한다.
    • ex) 결제 버튼의 위치가 변경되었지만, 결제 기능에 대한 영향은 없다.

 

  • OCP(Open/Closed Principle) - 개방/폐쇄 원칙
    • 확장에는 열려있으나 변경에는 닫혀있어야한다.
    • 변경을 위한 비용은 줄이고, 확장을 위한 비용은 극대화 해야한다.
    • 템플릿 메소드 찾아보기(OCP 좋은 예)

 

  • LSP(Liskov Substitution Principle) - 리스코프 치환 원칙
    • 하위 타입(자식)은 언제나 자신의 상위타입(부모)으로 교체할 수 있어야 한다.
    • 정확성을 깨뜨리면 안된다.
    • 원칙을 지키지 않으면 자식클래스의 인스턴스를 파라미터로 전달했을 때 메소드가 이상하게 작동할 수 있다.
    • 부모클래스에 대해 작성된 단위 테스트가 자식클래스에 대해서는 작동되지 않는다.
    • 상속을 잘 활용하고 있다면, 이미 LSP를 하고 있다.

 

  • ISP(Interface Segregation Principle) - 인터페이스 분리 원칙
    • 클라이언트가 자신이 사용하지 않는 메서드에 의존하지 않아야 한다.
    • 특정 클라이언트를 위하여, 하나의 범용 인터페이스를 제공하는 것 보다 여러개의 인터페이스를 제공하는 것이 낫다.

 

  • DIP(Dependency Inversion Principle) - 의존관계 역전 원칙
    • 객체들 간의 협력하는 과정에서 의존 관계가 형성된다.
    • 의존관계 역전원칙은 이러한 의존관계를 맺을 때 , 어떻게 하면 변화에 용이하게 대응할 수 있을 것인가에 대한 가이드라인이다.
    • 변하기 쉬운 것과 어려운 것을 구분해야한다.
      • 변하기 쉬운 것
        • 구체적인 행동
          • 스마트폰으로 전화를 건다.
          • 공중전화로 전화를 건다.
          • 이메일을 발송한다.
          • 카카오톡 메세지를 전달한다.
      • 변하기 어려운 것
        • 흐름이나 개념과 같은 추상적인 것.
          • 전화를 건다
          • 메세지를 전달한다.

'내일배움캠프 > TIL' 카테고리의 다른 글

2022.11.23 TIL / 프로젝트  (0) 2022.11.23
2022.11.22 TIL  (0) 2022.11.22
2022.11.18 TIL  (1) 2022.11.18
2022.11.17 TIL  (0) 2022.11.17
2022.11.16 TIL  (2) 2022.11.16
tevelop. Designed by 코딩재개발.