TIL

2024 10 30 TIL

noc777 2024. 10. 30. 21:05

디자인 패턴은 객체지향 프로그래밍을 할 때 자주 발생하는 문제들을 피하기 위해 미리 만들어진 유형의 패턴을 사용하는 것을 말합니다.

디자인 패턴은 협업에서도 의사소통의 수단으로 사용되어 어떠한 문제를 이런 유형의 디자인 패턴으로 해결하여 보자! 로 간결하게 의도를 나타낼 수가 있습니다.

하지만 디자인 패턴을 쓰기위해 문제를 만드는 일은 없어야할겁니다. 상황에 따라 디자인 패턴을 적절하게 적용시킬 수 있는 것이 디자인 패턴을 정리해두는 이유라고 생각합니다.

 

우선 특강에서 본 내용을 바탕으로 TIL 대략적으로 정리하여보고 세부적인 예시 같은 것은 따로 공부하여 정리하는 목적으로 하고자 합니다.

 

 

싱글톤 패턴 

 

구현의 목적과 기능 : 핵심 기능에 대한 전역적 접근을 허용합니다.  특정 기능에 대한 연결을 위해 유일한 객체가 필요할 때 사용합니다. 

 

구현 방법:  핵심기능에 대해 총괄적으로 다루기 위해서는 유일하여야 하기에 인스턴스가 추가적으로 생기는 것을 제한시켜야 합니다.   (추가로 생겼을 때 파괴하는 로직 등 요구)

싱글톤을 선언할 때는 public static으로 선언하여 전역적으로 접근할 수 있도록 합니다.

 

오브젝트풀 

구현의 목적과 기능 : 할당/해제에 성능 낭비와 메모리 낭비를 줄이고 싶어서 사용합니다. 

생성 파괴가 반복되는 오브젝트를 재활용합니다. 

구현 방법:


필요한 만큼 미리 생성하고 비활성
생성하는 대신 비활성화 된 오브젝트를 활성화
미리 생성해둔 양 이상을 요구한다면 추가로 생성합니다.
파괴 대신 오브젝트를 비활성화합니다.

 


전략 패턴 (Strategy)

 

구현의 목적: 원본 클래스를 건드리지 않고 다양하게 추가되는 방식을 대응하고 싶어서 사용,
객체지향의 다향성 
(부모클래스가 있을 때 자식클래스에서 메서드를 다시 재정의하여 입맛에 맞게 사용하는 것)

구현 예시:


전략 패턴을 구현하기 위해 전략 인터페이스를 정의
전략 인터페이스는 세부 동작을 구현

 

상태 패턴(State)


구현의 목적:  상태에 따라 로직이 달라짐을 관리하고 싶을 때 사용

 

구현방법 : idle angry dead 등 같은 여러 상태를 두고 그 상태에 맞는 행동을 하도록 설계

 



정리 도중 인터넷 이슈로 TIL 내용이 날아가는 일 발생 

 

해야할것:

자료 정리할 때 예제 구현해보고 첨부 및 옵저버 패턴과 이벤트 버스 패턴 또한 정리할 것

개인 과제 해설 자료 정독 후 다시 작성해보기

'TIL' 카테고리의 다른 글

2024 11 01 TIL  (0) 2024.11.01
2024 10 31 TIL  (0) 2024.10.31
2024 10 29 TIL  (0) 2024.10.29
2024 10 28 TIL  (0) 2024.10.28
2024 10 27 TIL  (0) 2024.10.27