-
SRP (Single Responsibility Principle) 단일 책임 원칙
- 한 클래스는 하나의 책임만 가져야 한다
- 모듈의 변경 이유는 하나여야 한다. 변경이 필요할 때 수정할 대상이 명확해지기 위해 필요하다.
-
OCP (Open Closed Principle) 개방 폐쇄 원칙
- 소프트웨어 요소는 확장에는 열려있으나 변경에는 닫혀있어야 한다
- 확장 open : 요구사항 변경 시 새로운 동작을 추가하여 애플리케이션의 기능을 확장시킨다
- 수정 close : 기존의 소스 코드 수정 없이 애플리케이션 동작의 추가 및 변경 한다.
-
LSP (Liskov Substitution Principle) 리스코프 치환 원칙
- 프로그램 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다
-
ISP (Interface Segregation Principle) 인터페이스 분리 원칙
- 특정 클라이언트를 위한 인터페이스 여러개가 범용 인터페이스 하나보다 낫다
- 클리이언트의 목적과 용도에 맞게 적절하게 인터페이스를 분리해야 한다
-
DIP (Dependency Inversion Principle) 의존 역전 원칙
- 고수준 모듈은 저수준 모듈에 의존해서는 안되며 저수준 모듈이 고수준 모듈에 의존해야 한다
- 비즈니스와 관련된 로직이 세부사항에 의존하면 안된다는 원칙
프로그래머는 추상화에 의존해야지, 구체화에 의존하면 안된다 <- 이 원칙을 따르는 방법중 하나 -> 중간에 말이 짤렸네요.. 무엇을 말하고 싶은건지..