2024/12/17 2

내일배움캠프 67일차 TIL 최종 프로젝트 - 읽기 전용 인터페이스

20241217 / Unity_6차  15주차 화요일  현재 프로젝트의 NPC AI는 영역 좌표를 기반으로 동작한다. 부랑자는 캠프 영역 내를 배회하고, 궁수는 최외곽 벽을 기준으로 일정 거리 내의 영역을 순찰하며,아군 NPC들의 이동 범위를 제한할 기지 영역은 벽이 지어지거나 파괴되면 크기가 바뀔 수 있다. 그렇기 때문에 맵의 모든 영역을 관리하는 컨트롤러가 따로 필요하다.  영역 컨트롤러 안에는 위에서 설명한 여러 영역에 대한 정보가 들어가야 하므로각 영역을 나타낼 클래스를 내부에 따로 정의해야 한다. 이런 영역에 대한 편집은 무조건 컨트롤러 안에서만 가능해야 하는데,영역 클래스 인스턴스의 필드를 읽는 것은 컨트롤러 바깥에서도 가능해야 한다. 쉽게 말해 컨트롤러 클래스는 다음과 같이 구현해야 한다.p..

카테고리 없음 2024.12.17

내일배움캠프 66일차 TIL 최종 프로젝트 - SOLID 원칙

20241216 / Unity_6차  15주차 월요일  SOLID 원칙은 객체지향 설계에서 코드의 유지보수성과 확장성을 높이기 위한 다섯 가지 설계 원칙이다.단일 책임 원칙(SRP): 클래스는 하나의 책임만 가져야 한다.개방-폐쇄 원칙(OCP): 클래스는 확장에 열려 있고, 수정에는 닫혀 있어야 한다.리스코프 치환 원칙(LSP): 자식 클래스는 부모 클래스를 대체할 수 있어야 한다.인터페이스 분리 원칙(ISP): 클라이언트는 자신이 사용하지 않는 메서드에 의존하지 않아야 한다.의존성 역전 원칙(DIP): 고수준 모듈이 저수준 모듈에 의존해서는 안 된다. 이제 와서 이런 기초적인 이론에 대해 왜 상기하는가 하면내가 설계한 코드가 위 원칙을 위배하여 실시간으로 문제를 겪었기 때문이다. public abstr..

카테고리 없음 2024.12.17