SOLID 5가지 원칙


자세한 내용 - 커밋으로 보기
자세한 내용 - 파일로 보기

  1. 단일 책임 원칙 - SRP(Single Responsibility Principle)
    • 작성된 클래스는 하나의 기능(책임)만 가진다
    • ‘응집력’과 ‘결합력’을 고려해 클래스에 ‘하나의 책임’만을 부여한다


  1. 개방 폐쇄 원칙 - OCP(Open Close Principle)
    • 인터페이스의 내부 구현은 '개방' 인터페이스의 외부 구조는 '폐쇄'
    • 예지력을 동원해 적절한 크기로 ‘추상화(인터페이스)’하는 작업이 필요하다
    • 인터페이스는 가능하면 변경되어서는 안된다. 변경이 되는 것과 안되는 것을 확실하게 하자


  1. 리스코브 치환의 원칙 - LSP(Liskov Substitution Principle)
    • '기반 클래스' 대신 '파생 클래스'의 인스턴스를 사용해도 문제가 없어야 한다
    • 그렇게 해도 ‘프로그램의 정확성에 영향을 미치지 않아야’ 한다


  1. 인터페이스 분리의 원칙 - ISP(Interface Segregation Principle)
    • '하나의 큰 인터페이스'보다 필요한 메서드만을 제공하는 '여러 개의 구체적인 인터페이스'를 만들자
    • ‘유연성’이 증가하고 ‘의존성’이 줄어든다


  1. 의존성 역전의 원칙 - DIP(Dependency Inversion Principle)
    • '고수준 모듈'이 '저수준 모듈'에 의존하지 않도록 한다
    • 둘 다 ‘추상화에 의존’하도록 한다
    • ‘고수준 모듈 DataManager’에서 ‘저수준 모듈 FileStorage 및 Database’의 세부 사항에 의존하지 않도록 한다

카테고리:

업데이트:

댓글남기기