C# (3) 썸네일형 리스트형 [2D 카메라 액션 패키지 개발] #03 - 계층 구조 기반으로 원사이클 코드 완성 개요 계층 구조를 짜두고 플로우를 보면서 최대한 책임 분리를 생각하면서 클래스 파일을 만들고, 코드를 작성했다. 책임을 분리한다는 것 때문에 특정 객체가 어떤 곳에서 호출되는지 해당 객체에서는 보이지 않았다. 이 때문에 처음 하루동안에는 코드를 작성하는데 버퍼링이 걸렸다. 그러다 방법을 찾았는데, 내가 짠 계층 구조 중 시스템 계층부터 메서드와 주석을 달아보는 것이었다. 시스템 계층은 데이터, 프레젠테이션 등 여러 계층을 한데 묶어서 연결해주는 풀(glue)의 역할을 하는 유일한 계층이었기 때문에 머리에 떠오르는 흐름과 같아 훨씬 더 빠르게 작업이 이루어졌다. 주석으로 작성한 내용을 하나하나 보면서 필요한 객체를 정의하고, 구현하는 것으로 순서를 바꾸니 놀랍게도 이전에 어려웠던 클래스의 구현도 크게.. [2D 카메라 액션 패키지 개발] #02 - 모듈화 기준, 설정 계층 정의 서론 플로우가 잡히고, 실제 개발에 들어가기 전에 거대한 개발 범위를 축소해야 한다. 이전에 내가 개발을 하다가 어려움에 부딪히거나 그 때문에 멈춰 섰던 이유가 무엇일까? 여러 이유가 있었지만 개발 범위를 너무 넓게 잡아서 그랬던 기억이 많다. 그래서 이번에는 개발에 앞서 범위를 작게 시작하여 독립적으로 개발하고 이후에 연결하고자 한다.모듈화 기준 모듈화의 기준은 무엇일까? 내가 참고한 블로그에 따르면 클래스의 기능을 컴퓨터 부품처럼 분리하여 마치 컴퓨터를 조립하듯 기능들을 조합해 객체를 완성시키는 것이라고 한다. 부품을 나누는 데에는 어떠한 의미가 있을까? '전체 플로우에서 각 부품이 어떠한 책임을 지는가'에 의미를 두어야 한다고 생각한다. 참고로 객체 지향 설계의 5원칙인 SOLID 원칙에서 S.. [2D 카메라 액션 패키지 개발] #01 - 기능 정의 및 플로우 차트 작성 서론 유니티 개발자로 일하고 다시 이직 준비를 하면서 항상 게임 완성을 위해서 개발을 임해왔다. 그렇게 많은 성과들이 있었지만 한편으로는 후회가 되는 점이 많이 생겼다. 먼저 완성이라는 거대한 목표를 향해 가는 여정이라고 생각하다 보니 중간중간 결과물을 남기는 것에 소홀했다. 특히 중간에 프로젝트가 멈추게 되면, 정리해 둔 것이 없어 내 노력에 비해 눈에 보이는 성과가 없는 것처럼 보였고, 이것이 생각보다 나에게 더 큰 허무를 주었다. 꼭 정리된 결과물만 문제가 되는 것은 아니었다. 한 게임의 완성을 목표로 개발하게 되면 초기에 아무리 FDD(기능 주도 개발)로 개발을 하겠다고 마음먹었다고 해도 기능의 구분이 모호해지고, 결국 독립적으로 기능을 떼어 만들 수 없었다. 이 때문에 장기적으로는 디버깅이.. 이전 1 다음