[Design Pattern] 디자인 패턴 개요Study/CS2024. 3. 27. 22:11
Table of Contents
디자인 패턴
디자인 패턴이란 일종의 설계 기법이며, 설계 방법이다.
디자인 패턴 목적
SW 재사용성, 호환성, 유지 보수성을 보장.
디자인 패턴의 특징
디자인 패턴은 아이디어이며 특정한 구현이 아니다.
프로젝트에 항상 적용해야 하는 것은 아니지만, 추후 재사용이나 호환성, 유지 보수 시 발생하는 문제 해결을 예방하기 위해 패턴을 만들어 둔 것이다.
디자인 패턴의 원칙 - SOLID(객체지향 설계 원칙)
i. Single Responsibility Principle
하나의 클래스는 하나의 역할만 해야 한다.
ii. Open - Close Principle
확장 (상속)에는 열려있고, 수정에는 닫혀 있어야 한다.
iii. Liskov Substitution Principle
자식이 부모의 자리에 항상 교체될 수 있어야 한다.
iv. Interface Segregation Principle
인터페이스가 잘 분리되어서, 클래스가 꼭 필요한 인터페이스만 구현하도록 해야 한다.
v. Dependency Inversion Property
상위 모듈이 하위 모듈에 의존하면 안 된다.
둘 다 추상화에 의존하며, 추상화는 세부 사항에 의존하면 안 된다.
디자인 패턴 분류 <중요>
1. 생성 패턴 (Creational) : 객체의 생성 방식 결정
Class-creational patterns, Object-creational patterns.
예) DBConnection을 관리하는 Instance를 하나만 만들 수 있도록 제한하여, 불필요한 연결을 막음.
2. 구조 패턴 (Structural) : 객체간의 관계를 조직
예) 2개의 인터페이스가 서로 호환이 되지 않을 때, 둘을 연결해주기 위해서 새로운 클래스를 만들어서 연결시킬 수 있도록 함.
3. 행위 패턴 (Behavioral) 객체의 행위를 조직, 관리, 연합
예) 하위 클래스에서 구현해야 하는 함수 및 알고리즘들을 미리 선언하여, 상속시 이를 필수로 구현하도록 함.
'Study > CS' 카테고리의 다른 글
[Algorithm] 거품 정렬 (Bubble Sort) (0) | 2024.04.04 |
---|---|
[Design Pattern] 어댑터 패턴 (0) | 2024.04.02 |
[WEB] 브라우저 동작 방법 (0) | 2024.03.28 |
[Database] Key (0) | 2024.03.26 |
[JAVA] 자바 컴파일 과정 (0) | 2024.03.25 |
@chumminggg :: Log_Double 7