[php] SOLID 원칙

소프트웨어 개발에서 SOLID는 객체 지향 설계 원칙의 다섯 가지를 나타냅니다. 이 원칙들은 소프트웨어가 유지보수 가능하고 확장 가능하며 이해하기 쉬운 구조로 설계될 수 있도록 도와줍니다.

목차

단일 책임 원칙 (SRP)

단일 책임 원칙은 클래스는 단 하나의 책임을 가져야 한다는 것을 의미합니다. 이것은 변경 사유가 하나여야 한다는 것을 의미합니다. 클래스가 여러 책임을 가지게 되면 변경 사유가 둘 이상이 되기 때문에 유지보수가 어려워질 수 있습니다.

개방/폐쇄 원칙 (OCP)

개방/폐쇄 원칙은 소프트웨어 개체(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고 변경에는 닫혀 있어야 한다는 것을 의미합니다. 즉, 기존의 코드를 변경하지 않고도 새로운 동작을 추가할 수 있어야 합니다.

리스코프 치환 원칙 (LSP)

리스코프 치환 원칙은 자식 클래스는 부모 클래스의 기능을 수정하지 않고 확장만 수행해야 한다는 것입니다. 이것은 상속 관계가 의미 있는 경우, 부모 클래스를 사용하는 코드에서 자식 클래스를 대신 사용해도 문제가 되지 않아야 함을 의미합니다.

인터페이스 분리 원칙 (ISP)

인터페이스 분리 원칙은 클라이언트가 자신이 사용하지 않는 메서드에 의존하지 않아야 한다는 것을 의미합니다. 즉, 클라이언트는 자신이 사용하지 않는 메서드에 대해 의존해서는 안 됩니다.

의존 역전 원칙 (DIP)

의존 역전 원칙은 고수준 모듈은 저수준 모듈에 의존해서는 안 되며, 둘 모두 추상화에 의존해야 한다는 것을 의미합니다. 이것은 객체 사이의 의존성을 관리하기 위해 추상화를 사용해야 함을 강조합니다.

이러한 SOLID 원칙은 객체 지향 설계를 향상시키고 유지보수성 및 확장성을 증가시키는 데에 도움이 됩니다. 이러한 원칙을 준수함으로써 소프트웨어의 품질을 향상시킬 수 있습니다.

참고 자료