inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Singleton 패턴

Dependency Injection(DI)

184

정길수

작성한 질문수 5

1

웹 개발에서는 DI를 통해 객체를 관리하는 경우가 많은데, 게임 프로젝트에서도 DI를 활용해 객체를 관리하는 사례가 많을까요? 아니면 강의에서 소개된 것처럼 Managers 객체를 통해 관리하는 경우가 더 일반적인가요

C# unity

답변 2

1

Rookiss

그건 프로젝트 리더가 정하는 것을 따르면 됩니다.
일반적으로 클라는 구조에 그래도 좀 너그러운 편이고
경험상 서버는 그래도 조금 더 Component화 해서 관리하긴 했습니다.

0

정길수

헉;; 답변 엄청 빠르네요.. 감사합니다!

클라이언트 쪽은 테스트 코드 작성이 제한적이고 구조도 비교적 단순해서 DI가 꼭 필요하지 않은 걸까요? 아니면 오히려 Component화 같은 설계 방식이 클라이언트에서는 더 복잡하게 느껴질 수도 있는 걸까요? 제가 게임 프로그래밍 경험이 많지 않아서 혹시 엉뚱한 질문이었다면 죄송합니다;; 🙇‍♂

0

Rookiss

클라는 아무래도 UI 등이 서버에 비해 변경이 심해서 그런 것도 있고요.
단순하고 빠르게 개발할 때는 전역 객체를 이용하는게 나름 효율적입니다.
서버는 그보다 많은 유저들을 관리해야 해서,
컨텐츠 코드 구조상 전역 객체가 많이 필요하지 않습니다.

0

정길수

답변 감사합니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

아오우미님, Dependency Injection(DI)의 사용은 웹 개발뿐만 아니라 게임 개발에서도 점점 더 널리 퍼지고 있는 추세입니다. DI는 모듈화와 테스트의 용이성을 높이기 때문에, 대규모 게임 프로젝트에서의 사용 빈도가 늘고 있습니다. 특히 유연한 코드 구조와 유지보수를 위해 DI를 선택하는 개발자들이 많습니다.

다만, 게임 프로젝트에서는 여전히 전통적인 Managers 패턴을 선호하는 경우도 많습니다. Managers 객체를 통해 각종 게임 로직을 한 곳에서 관리함으로써 복잡성을 줄이려고 합니다. 이는 특히 소규모 프로젝트나 팀에서 빠르게 구현하는 방식으로 여전히 자주 사용됩니다.

DI에 대하여..
이 질문은 웹 개발에서의 DI 사용과 게임 개발에서의 객체 관리 비교에 대한 유사 사례로 참고하시면 좋을 것 같습니다.

추가적으로, 게임 개발에서 DI를 사용할 때의 장점과 단점, 그리고 DI를 도입하는 방법에 관한 더 깊이 있는 설명이 필요하시다면 관련 자료를 찾아보시는 것도 추천드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

UI 기능 관련 질문이 있습니다!

0

37

2

픽셀 좌표 스크린 좌표

0

33

0

전체적으로 코드 읽는게 굉장히 오래 걸리네요...

0

74

2

카메라 #2 수업 캐릭터 쓰러짐 해결

0

84

1

플레이어 움직임이 끝날때, 기울어짐 현상

0

83

1

Input 적용과 관련하여 질문 있습니다.

0

75

1

디버그 불가.. Unity에 연결 불가

0

82

1

달리기 애니메이션 에러

0

89

2

오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다

0

66

1

GetKey 오류

0

110

2

에셋을 어디에 올려두신지 알 수 있나요?

0

107

1

재귀호출? 오류나는데 왜 이래요 ?

0

169

6

Animation blending 파라미터 계산

0

68

1

newPos와 to지점이 겹쳐져야 하는거 아닌가요?

0

97

3

오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다

0

88

2

질문있습니다

0

143

2

아 이거 소스코드 같은거 없나요?

0

142

3

질문 드립니다. string.IsNullOrEmpty(name)

0

87

2

@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?

0

136

2

유니티6 NavMesh 안되는분들

1

176

1

Unity6 Unity-Chan Material 마젠타 문제 해결법

7

528

1

GetComponent<Poolable> 질문드립니다.

0

102

2

UI 불러오지 못함

0

119

2

UI 자동화 #1 - Util.cs의 FindChild함수에서 component.name에 컴포넌트 이름이 뜹니다.

0

155

2