Code KATA
오늘치의 알고리즘 코드카타를 풀이하고 정리하였다
https://iiblueblue.tistory.com/152
[2025.01.14] 크기가 작은 부분 문자열
문제 설명숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는
iiblueblue.tistory.com
오랜만에 보는 substr이어서 예전에 정리해놨던 글을 보고 다시 상기했다. 문제 자체는 어렵지 않아서 금방 풀었다.
Quest
- 텍스트 기반 RPG 게임 제작 프로젝트
몬스터와 생성 매니저 만들기
CMonster 인터페이스와 그 구현체들, 그리고 이를 생성하기 위해 팩토리 메서드(Factory Method) 패턴을 만들었다.
사실 발제에서 팩토리 메서드에 대한 이야기는 적혀있지 않았고 이전 C++ 강의에서도 언급만 되었을 뿐 정확히 어떻게 구현해야 한다고 설명한 적은 없었다. 발제 중 스치는 이야기로 튜터님께서 "몬스터는 팩토리 메서드로 해봐도 괜찮고~" 라고 하셨는데 이전에 C++ 강의를 들으면서 생성 패턴에 대해 정리했던 글이 생각났다.
https://iiblueblue.tistory.com/140
디자인 패턴(Design Pattern) : 생성(Creational) 패턴
⊙ 싱글톤 패턴을 이해하고 구현 방법과 활용 방법을 안다. ⊙ 팩토리 메서드 패턴을 이해하고 구현 방법과 활용 방법을 안다. ⊙ 추상 팩토리 패턴을 이해하고 구현 방법과 활용 방법을 안다.
iiblueblue.tistory.com
결론적으로 나는 몬스터 생성은 팩토리 메서드 패턴으로 설계하기로 하였다.
팩토리 메서드란 객체 생성을 서브 클래스에게 위임하는 패턴이다. 즉, 상위 클래스에는 인터페이스만 정의하고 실제 생성은 서브 클래스가 담당한다. 이름에서 처럼 정말 공장을 만드는데 인터페이스로 큰 공장 틀을 하나 만들고 클래스 종류가 추가될 때마다 공장 하나씩을 구현해주면 되는 방식이다. 방금도 이야기 했지만 이 패턴은 확장에 용이하다. 그래서 다른 몬스터를 추가할 때 쉽지 않을까 하여 이 방식을 선택하게 되었다.
'TIL' 카테고리의 다른 글
2025.01.16(목) (0) | 2025.01.16 |
---|---|
2025.01.15(수) (0) | 2025.01.15 |
2025.01.10 (0) | 2025.01.10 |
2025.01.09 (0) | 2025.01.09 |
2025.01.08 (1) | 2025.01.08 |