반응형
SOLID에 대해 모르시는 분이 없으실 듯한데.
2022.07.01 - [정보관리기술사/SW 공학] - 객체지향 설계 원칙 - "SOLID"
다양한 자료를 보다 보면 같은 토픽에 대해서도
생각하지 못한 관점을 보게 되거나 또는 보충 설명을 통해 더 확실하게 개념을 잡을 수 있게 되곤 합니다.
지금은 시험이 한 달도 남지 않은 상황이어서 서브노트 / 키노드 열심히 돌리고 계실 텐데..
나중에 시간 될 때 공부했던 토픽에 대해서도 다양한 자료들을 한번 보길 권고합니다.
SRP(the Single Responsiblity Principal, 단일 책임의 원칙)
한 클래스는 하나의 책임만 가져야 한다.
하나의 클래스는 하나의 method만을 갖게 됨에 따라 수정에 대한 이유는 한 가지가 되어야 한다.
OCP(the Open Closed Principal, 개발 폐쇄의 원칙)
소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다.
하나의 클래스는 수정에는 폐쇄되어 있고, 확장에는 개방되어 있어야 한다.
LSP(the Liskov Subsitution Principal, 리스코프 치환의 원칙)
프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다.
계약에 의한 설계를 참고하라.
하위 클래스는 언제나 상위클래스로 참조가 가능한 상속과 관련된 원칙
ISP(the Interface Segregation Principal, 인터페이스 분리의 원칙)
특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다.
사용자 별로 다른 방식의 인터페이스를 제공하도록 설계
DIP(the Dependency Inversion Principal, 의존성 역전의 원칙)
프로그래머는 “추상화에 의존해야지, 구체화에 의존하면 안된다.”
의존성 주입은 이 원칙을 따르는 방법 중 하나다.
변경 가능성을 최소화하기 위하여 인터페이스를 통한 추상화를 통해 최대한 느슨하게 설계하자는 원칙
참고 자료
탑싯 에센스 - 소프트웨어 개발
SOLID (객체 지향 설계) - 위키백과, 우리 모두의 백과사전 (wikipedia.org)
반응형
'(Pilot) 탑기공 > 소프트웨어 개발' 카테고리의 다른 글
[탑기공] 객체 지향 설계와 원리 (0) | 2023.01.12 |
---|---|
[탑기공] 객체 지향 분석과 모델링 개념 (0) | 2023.01.11 |
[탑기공] 소프트웨어 아키텍처 설계 표현 방법 (0) | 2023.01.06 |
[탑기공] 소프트웨어 아키텍처 스타일 (0) | 2023.01.05 |
[탑기공] 소프트웨어 아키텍처 설계 (0) | 2023.01.04 |
댓글