SOLID

리스코프 치환 원칙: Liskov Subsitution Principle리스코프 치환 원칙은 다음과 같이 정의할 수 있습니다.서브 타입은 언제나 자신의 수퍼 타입으로 교체할 수 있어야 한다.클래스의 경우 하위 클래스는 상위 클래스의 한 종류여야 한다.인터페이스인 경우 구현 클래스는 인터페이스를 지켜야 한다. 리스코프 치환 원칙은 코드의 재사용성, 확장성, 유지보수성을 높이는 데 중요한 역할을 합니다.해당 원칙의 핵심 키워드는 다음과 같습니다.수퍼 타입: 부모 클래스, 서브타입이 상속받는 클래스를 의미한다.서브 타입: 자식 클래스, 부모 클래스의 특성을 상속받아 확장하거나, 구체화 한 타입을 의미한다.교체: 부모 클래스의 인스턴스를 자식 클래스로 대체해도 기능에 문제가 없어야 한다.리스코프 치환 원칙은 올..
단일 책임의 원칙: Single Responsibility Principle단일 책임의 원칙 핵심 키워드는 다음과 같습니다.클래스는 단 한 개의 책임을 가져야 한다. 클래스를 변경하는 이유는 단 한 개여야 한다. 누가 해당 메서드의 변경을 유발하는 사용자(Actor) 인가?단일 책임 원칙의 개념은 문장 자체로는 이해하기 쉽지만, 이를 구체적으로 적용하여 설계하는 건 제 입장에서 이해하기가 어려웠습니다. 초기 단계부터 명확한 책임을 도출하기 어려우며, 개발 과정 중 요구사항이 변경되면 이에 따라 클래스의 책임도 변하여 SRP 원칙을 유지하기 어렵습니다. 단순한 예제부터 단계 별로 단일 책임 원칙을 설명하려고 합니다. 저의 주관적인 생각이 들어가기도 해서 틀린 부분이 있다면 지적해 주시면 감사하겠습니다. 단..
의존성 역전 원칙: Dependency Inversion Principle의존성 역전의 원칙은 다음과 같이 정의할 수 있습니다.상위 수준 모듈은 하위 수준 모듈의 세부 사항에 의존해서는 안됩니다.하위 수준 모듈은 상위 수준 모듈에 정의된 추상 타입에 의존해야 합니다.의존성 역전의 원칙은 모듈 간 의존성을 낮추고, 유연성과 유지보수성을 향상시킵니다.해당 원칙의 주요 개념을 요약하자면 다음과 같습니다.상위 모듈: 비즈니스 로직이나 주요 기능을 정의하는 모듈 (ex Controller)하위 모듈: 구체적인 구현을 포함하는 모듈 (ex Service, Repository)추상 타입: 인터페이스나 추상 클래스를 통해 상위 모듈과 하위 모듈 간의 의존성을 정의DIP를 설명하기 위해 간단한 예제를 통해 설명하겠습니다..
Hui._.
'SOLID' 태그의 글 목록