디자인 패턴은 객체지향 프로그래밍을 할 때 자주 발생하는 문제들을 피하기 위해 미리 만들어진 유형의 패턴을 사용하는 것을 말합니다.
디자인 패턴은 협업에서도 의사소통의 수단으로 사용되어 어떠한 문제를 이런 유형의 디자인 패턴으로 해결하여 보자! 로 간결하게 의도를 나타낼 수가 있습니다.
하지만 디자인 패턴을 쓰기위해 문제를 만드는 일은 없어야할겁니다. 상황에 따라 디자인 패턴을 적절하게 적용시킬 수 있는 것이 디자인 패턴을 정리해두는 이유라고 생각합니다.
우선 특강에서 본 내용을 바탕으로 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 |