SOLID - 객체 지향적으로 코드 짜기

SOLID

SOLID : 객체 지향 설계의 첫 걸음

SOLID 원칙은 객체 지향 프로그래밍에서, 설계의 핵심 목표는 이것이다 하는 것으로 정신을 차리고 나아가면 모듈의 설계를 분산시키고 해낼 수 있다는 그런 원칙을 말하는 것이다.

단일 책임 원칙

어떤 객체의 수정 이유는 단 하나여야 한다.

책임

하나의 책임

단일 책임 원칙의 도입

개방 폐쇄 원칙

확장에는 개방, 변경에는 폐쇄.

개방과 폐쇄, 열림과 닫힘

개방 폐쇄 원칙의 도입

리스코프 치환 원칙

상위 객체를 하위 객체로 대체하여도, 전체 프로그램은 문제없이 동작하여야 한다.

상속과 인터페이스

리스코프 치환 원칙의 필요성

인터페이스 분리 원칙

클라이언트가 사용하는 메서드만을 인터페이스로 제공한다.

인터페이스 / 클라이언트

인터페이스 분리 원칙의 필요성

단일 책임 원칙과의 유사성

의존 역전 원칙

저수준 모듈이 고수준 모듈의 명세를 따라가야 한다.

모듈의 수준

의존 역전 원칙의 이점

요약

모듈화 / 추상화

각 원칙의 독립성

구조의 깔끔함 / 유지보수의 안정성