Programming - 객체지향의 SOLID 원칙
SOLID 5가지 원칙
자세한 내용 - 커밋으로 보기
자세한 내용 - 파일로 보기
- 단일 책임 원칙 - SRP(Single Responsibility Principle)
- 작성된 클래스는 하나의 기능(책임)만 가진다
- ‘응집력’과 ‘결합력’을 고려해 클래스에 ‘하나의 책임’만을 부여한다
- 개방 폐쇄 원칙 - OCP(Open Close Principle)
- 인터페이스의 내부 구현은 '개방' 인터페이스의 외부 구조는 '폐쇄'
- 예지력을 동원해 적절한 크기로 ‘추상화(인터페이스)’하는 작업이 필요하다
- 인터페이스는 가능하면 변경되어서는 안된다. 변경이 되는 것과 안되는 것을 확실하게 하자
- 리스코브 치환의 원칙 - LSP(Liskov Substitution Principle)
- '기반 클래스' 대신 '파생 클래스'의 인스턴스를 사용해도 문제가 없어야 한다
- 그렇게 해도 ‘프로그램의 정확성에 영향을 미치지 않아야’ 한다
- 인터페이스 분리의 원칙 - ISP(Interface Segregation Principle)
- '하나의 큰 인터페이스'보다 필요한 메서드만을 제공하는 '여러 개의 구체적인 인터페이스'를 만들자
- ‘유연성’이 증가하고 ‘의존성’이 줄어든다
- 의존성 역전의 원칙 - DIP(Dependency Inversion Principle)
- '고수준 모듈'이 '저수준 모듈'에 의존하지 않도록 한다
- 둘 다 ‘추상화에 의존’하도록 한다
- ‘고수준 모듈 DataManager’에서 ‘저수준 모듈 FileStorage 및 Database’의 세부 사항에 의존하지 않도록 한다
댓글남기기