본문 바로가기

프로그래밍/일반8

<헤드퍼스트 세상을 설계하는 객체지향 방법론> 요약 CHAPTER 1. 잘 설계된 프로그램이 세상을 뒤흔든다 객체지향 원리를 사용하여 유연한 프로그램을 만들 수 있다. 캡슐화는 프로그램을 여러 개의 논리적 부분들로 나눈다. 위임은 특정한 일을 해결하는 책임을 다른 객체에게 주는 것이다. 프로그램의 기본 기능을 구현한 후에 설계를 유연하게 가다듬는데 노력하라. 프로그램 중 자주 변경을 요하는 부분을 찾아서 변경되지 않는 부분과 분리해 놓으라. CHAPTER 2. 요구 사항 수집 요구 사항은 시스템이 제대로 동작하기 위해 해야 할 일이다. 좋은 요구 사항들을 만들려면, 유스케이스를 만들어야 한다. 유스케이스는 시스템이 해야 할 일을 자세하고 명확하게 설명한다. 하나의 유스케이스는 하나의 목표를 가진다. 좋은 유스케이스는 시작 조건, 종료 조건, 외부 구동자,.. 2019. 9. 10.
[Unity | 게임 디자인 패턴] 게임 씬의 구성 및 필수 컨트롤러/매니저 Global 사용 컨트롤러 SceneController NetworkController Global 사용 매니저 GameDataManager DownloadManager ObjectPoolManager SoundManager PopupManager 씬 구조 [Splash.unity] SplashController [Title.unity] TitleController [Lobby.unity] LobbyController LobbyManager LobbyUIManager [InGame.unity] InGameController : 게임 자원, 게임 플레이 제어 InGameManager : 인게임 자원을 관리 InGameUIManager : 인게임UI를 관리 InputController : 인풋 제어 Unit.. 2019. 9. 5.
[Unity | 게임 디자인 패턴] 싱글톤 패턴의 사용 GameManager나 SoundManager와 같은 유일한 객체는 싱글톤 패턴으로 관리하는게 편리하다. 싱글톤 클래스 작성법에는 여러가지가 있으나 여기에서는 MonoBehaviour를 상속받는 싱글톤 클래스를 작성해 보았다. 인스턴스를 생성한 방법을 눈여겨 봐야 하는데, 게임을 처음부터 플레이할 경우는 상관없으나 특정 씬만을 테스트할때 다른 씬의 싱글톤 클래스를 참조해야 할 경우가 있다. 이 때 null exception이 발생하므로 이에 대한 처리로 Resource폴더에서 프리팹을 불러와 인스턴스를 생성하도록 하였다. 이 클래스를 상속받으면 싱글톤 패턴이 적용된다. 덧붙이자면 참조가 많은 public 프로퍼티나, 변수, 함수는 static으로 작성하여 '클래스명.객체명' 형식으로 바로 접근하도록 하는.. 2018. 3. 4.
[Unity | 게임 디자인 패턴] FINITE STATE MACHINE (유한상태기계) FINITE STATE MACHINE(유한상태기계)란? AI를 구현하기 위한 개념적 모델 중 하나이다. 여러 개의 유한한 상태(State)가 존재하고, 그 상태들이 특정 조건들에 의해 서로 연결되어 있는 형태를 의미한다. ※ 이미지 출처: gamedevelopment.tutsplus.com FSM의 장점 직관적인 도표로 나타내므로 AI의 구조를 프로그래머 이외에 제3자가 쉽게 확인/설계 가능하다. 정해진 규칙이 있기 때문에 프로그래머가 더 안전성 높은 코드를 만들어 낼 수 있다. 각각의 상태로 나뉘어져 있기 때문에 새로운 상태의 추가 및 삭제가 용의하다. |작성자 GSeMinZ 2017. 6. 11.