TIL

2024. 12 .01

ilovedigital 2024. 12. 1. 17:05

디자인 패턴의 의의와 전략 패턴과 상태 패턴에 관하여 매우 간단하게 알아보았다.

 

디자인 패턴

 

디자인 패턴을 익혔을 때의 이득은 무엇이 있을까?

 

상황에 맞는 올바른 설계를 적용할 수 있다.

각 패턴의 장단점을 통해 설계 선택에 도움을 얻을 수 있다.

설계 패턴에 이름을 붙임으로써 시스템의 문서화, 이해, 유지보수에 도움을 얻을 수 있다.

 

전략 패턴

 

특정 컨텍스트에서 알고리즘을 별도로 분리하는 방법이 전략 패턴이다.

 

컨텍스트 코드의 변경 없이 새로운 전략을 추가할 수 있다.

 

상태 패턴

 

상태에 따라서 동일한 기능 요청의 처리를 다르게 하는 것이다.

 

상태 패턴에서 상태 변경은 누가 해야 할까?

 

컨텍스트에서 상태를 변경할 경우에는 비교적 상태 개수가 적고, 상태 변경 규칙이 거의 변하지 않는 경우에 유리하다. 상태 변경 코드는 복잡해질수록 유연성이 떨어진다.

 

상태 객체에서 컨텍스트의 상태를 변경할 경우, 컨텍스트에 영향을 주지 않으면서 상태를 추가하거나 상태 변경 규칙을 바꿀 수 있다. 하지만 상태 구현 클래스가 많아질수록 상태 변경 규칙을 파악하기 어려워지는 경우가 있고, 현재 상태의 클래스에 대한 의존도가 발생한다.

 

그렇기 때문에 상황을 잘 고려해서 사용해야 한다.

 

 

 

 

한동안은 예전에 정보처리기사 관련해서 공부할 때 공부했던 여러 디자인 패턴들을 다시 한번 돌아보는 시간이 될 거 같다. 원래 알던 정보에서 다시 생각하거나 알아두고 싶은 점만 적어두며 공부중이다.

'TIL' 카테고리의 다른 글

2025. 03. 02  (0) 2025.03.02
2025. 02. 16  (1) 2025.02.16
2024. 11. 24  (1) 2024.11.24
2024. 11. 17  (0) 2024.11.17
2024. 11. 15  (1) 2024.11.15