일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 유니티 리소스매니저
- c++ 문자열 자르기
- Quaternion.Euler
- LFS
- 알고스팟
- InputManager
- 너비 우선 탐색
- eulerAngles
- 유니티 InputManager
- 오브젝트 풀링
- Raycast
- 유니티 ResourceManager
- ML-Agents
- unity
- 유니티
- 유니티 Vector3
- git-lfs
- 유니티 Collision
- c++
- 소스코드 줄번호
- 이진트리
- 유니티 머신러닝
- 유니티 시야 가림
- LayerMask
- 유니티 Rotate
- LookRotation
- 깊이 우선 탐색
- 코드블럭 테마
- 유니티 오브젝트 풀링
- Mathf.Clamp
- Today
- Total
목록IT/디자인패턴 (2)
무민은귀여워
문제. 커플링과 코드 길이 문제는 서로 악역향을 미친다. if (collidingWithFloor() && (getRenderState() != INVISIBLE)) { playSound(HIT_FLOOR); } 이 코드를 문제없이 고치려면 물리(collidingWithFloor), 그래픽(getRenderState), 사운드(playSound)를 전부 알아야 한다. 이 문제를 고치기 위해 한 덩어리였던 Bjorn 클래스를 분야에 따라 여러 부분으로 나누면 된다. 예를 들어 사용자 입력에 관련된 코드는 InputComponent 클래스로 옯겨둔 뒤에, Bjorn 클래스가 InputComponent 인스턴스를 갖게한다. 이러고 나면 컴포넌트들을 묶는 얇은 껍데기 코드 외에는 Bjorn 클래스에 남는게 거의..
요청 자체를 캡슐화하는 것입니다. 이를 통해 요청이 서로 다른 사용자를 매개변수로 만들고, 요청을 대기시키거나 로깅하며, 되돌릴 수 있는 연산을 지원합니다. (GoF의디자인패턴, 311쪽) 명령 패턴은 매서드 호출을 실체화reify 한 것이다. → 함수 호출을 객체로 감쌌다는 의미. → '콜백', '일급함수', '함수 포인터', '클로저', '부분 적용 함수'와 비슷하다. 예를 들어 x 버튼을 누르면 점프를 하는 기능이 있다고 하자. 대부분의 게임은 키 변경을 지원하므로 x가 눌렸을 때 바로 jump()를 실행하는 것이 아니라, 키 바인딩을 통해 함수를 직접 호출하지 말고 교체 가능한 무언가로 바꾸어야 한다. 이러한 게임에서 할 수 있는 행동을 실행 할 수 있는 공통 상위 클래스부터 정의한다. (Comm..