디자인패턴 첫번째 - 초보자를 위한 싱글톤

  Рет қаралды 25,350

오늘코딩

오늘코딩

Күн бұрын

Пікірлер: 39
@오늘코딩
@오늘코딩 2 жыл бұрын
00:00 intro 00:36 서론 - 사용 예시 01:57 싱글톤의 첫번째 특징 02:28 싱글톤의 두번째 특징 03:16 싱글톤의 세번째 특징 05:05 코드 작성 시작 08:42 싱글톤의 문제점 09:08 코드 완성 후 마무리 리뷰 10:08 실제 플레이 테스트 11:22 수 많은 매니저들을 관리하는 방법들 12:32 제네릭 형태의 싱글톤 구현
@hoyakim4280
@hoyakim4280 2 жыл бұрын
싱글톤은 조심해야 한다고 배웠습니다. 다른 디자인 패턴과 달리 싱글톤은 "철회"가 어렵습니다. 오브젝트가 하나여야 하는지 오브젝트가 담고 있는 "데이터"가 하나여야 하는지 잘 생각해서 트랜젝션을 대신 사용해야 할 수도 있습니다. 그리고 싱글톤은 멀티프로세스 환경에서 의도한 바와 다르게 동작하기 때문에 그것도 조심해야 합니다. 저는 그래서 데이터가 유일해야 하면 DB(Redis같은 좀 덜 무거운거) 쓰고 데이터와 함께 행동까지 유일해야 하면(디바이스 드라이버 등) 싱글톤을 씁니다.
@김김-e2l
@김김-e2l Жыл бұрын
디펜던시 가 좀 더 있냐 없냐 차이고 DB 쓰는게 결국 싱글턴 쓰는거지. 내가 코드로 구현해서 메모리에 올려두나 남이 만든 redis 메모리 올려두나 그게 그거. 멀티 프로세스가 아니라 멀티 스레드 말하는 것 같은데 .net의 Lazy나 c++ call_once 같이 언어 차원에서 지원되는 기능 있으니 별 힘 안 들이고도 초기화 가능함.
@너진바
@너진바 10 ай бұрын
​@@김김-e2l이젠 머가 상황따라 좋고 나쁜지 몰겟네요
@dokidoki_jajingjjang
@dokidoki_jajingjjang 3 ай бұрын
MonoBehavior를 상속받는 싱글톤 클래스는 스레드 안정성은 보장된다고 보는게 맞지요. 데이터 지향 설계로 간다면 모르겠습니다만
@Gyokujin
@Gyokujin Жыл бұрын
제네릭을 싱글톤에 접목시키는건 모르고 있었는데 이번 기회에 배웠습니다 영상 감사합니다
@namespace_
@namespace_ 2 жыл бұрын
진짜 쉽고 자세하게 설명해주시네 진짜 이해가 쏙쏙 됩니다 감사합니다
@gim-ori
@gim-ori 2 жыл бұрын
씬 전환시 데이터 유지에 대한 방법을 찾다가 흘러왔습니다. 유익한 강의 감사합니다!
@flaticonbanana8314
@flaticonbanana8314 2 жыл бұрын
와 두고두고 봐야겠네요. 목소리도 너무 멋있으세요~~~
@aidenji9028
@aidenji9028 Жыл бұрын
감사합니다!!!! 싱글톤에 대해 너무 쉽게 잘 이해하게 되었어요~
@sorryseori471
@sorryseori471 2 жыл бұрын
유튜브 잘 보고 있습니다! 15:25에서 부모오브젝트가 있거나 최상위에 뭔가 존재한다면 이라고 설명하시는데 그럼 or이 들어가야하나요? 그리고 제네릭을 사용할 때, Destroy를 추가해준다면 private void Awake() { if (instance == null) { // 씬 전환이 되어도 유지되도록 // 부모가 있거나 최상위에 뭔가 있다면 if (transform.parent != null || transform.root != null) { DontDestroyOnLoad(this.transform.root.gameObject); } else { DontDestroyOnLoad(this.gameObject); } } else { Destory(this.gameObject); } } 이렇게 해도 될까요?
@김성덕-y8r
@김성덕-y8r 2 жыл бұрын
자세하게 설명해 주셔서 한번에 이해했네요! 감사합니다!
@솔무한
@솔무한 2 жыл бұрын
싱글톤에 대해서 어려웠었는데 오늘코딩님 영상보고 조금은 이해하게 되었습니다! 감사합니다!
@edyfrelliah2485
@edyfrelliah2485 2 жыл бұрын
좋은 영상 감사합니다. 다른 패턴영상도 기대되네요
@zihasoo
@zihasoo 2 жыл бұрын
전 개발자가 심각한 싱글톤 중독이라 고치는데 애먹었었는데 확실히 코드 짜는거 자체는 편한건 있더라구요...
@JustHarry4455
@JustHarry4455 2 жыл бұрын
항상 감사합니다.
@윤준석-s2d
@윤준석-s2d 2 жыл бұрын
설명 너무 좋네요 감사드려요
@오하이-j2l
@오하이-j2l 2 жыл бұрын
와 깔끔한 설명이네요
@shk3593
@shk3593 2 жыл бұрын
오늘도 잘 배웠습니다. 많은 도움이 되었습니다~ 전에도 알아듣기 좋았지만 이번 영상은 설명하시는 톤이 더 안정적이고 체계적이 되신 것 같습니다. 감사합니다~
@오늘코딩
@오늘코딩 2 жыл бұрын
잘 찍어보려고 조금씩 더 준비하고 있습니다. 알아봐주셔서 기쁘네요 ㅎㅎ 앞으로 더 깔끔하게 준비해보겠습니다 감사합니다
@톰-l2o
@톰-l2o Жыл бұрын
안녕하세요! 도움이 많이 되었습니다. 감사합니다. ( _ _)
@박성찬-c1w
@박성찬-c1w 2 жыл бұрын
좋은 영상 잘 봤습니다. 제너릭 부분 하실때 궁금한게 있습니다. 이미 instance가 존재하면 새로 생긴 싱글톤 오브젝트는 Destroy로 삭제하는 로직은 없어도 되는건가요?
@오늘코딩
@오늘코딩 2 жыл бұрын
좋은 댓글 너무 감사합니다! 사실 destroy로 파괴하는 로직은, 싱글톤자체를 인위적으로 생성하는 경우에 오류 발생을 방지하기 위한 예외처리를 위해서 필요합니다. 그런데 영상처럼 처음 씬에 전부 생성해놓고 끌고가는 경우라면 굳이 생성파괴를 할 일이 없어서 제가 빼먹은것같네요 ㅠ 그렇지만 프로젝트가 규모가 커지고 훗날 어떤 변형이 이뤄질지 모른다면 말씀하신 destroy처리를 해주는게 더 좋은 코딩이라고 생각합니다! 감사합니다.
@llllIIIIlllIIIlll
@llllIIIIlllIIIlll 2 жыл бұрын
설명이 좋네요~ ㅎㅎ
@FromTo738
@FromTo738 Жыл бұрын
private static DataManager instance; 선언 후 get을 쓰는 것과 public static DataManager Instance;의 차이가 뭔가요?
@한현진-x6u
@한현진-x6u 3 ай бұрын
저도 궁금해요
@Wind_mill
@Wind_mill Жыл бұрын
좋은 영상 감사합니다! 해당 영상을 따라하다가 아래와 같은 문구가 갑자기 등장했는데요. 아직 부족한 실력이라. 어디서 발생하는지 몰라서요... 조언을 부탁드려도 될까요? [Adaptive Performance] No Provider was configured for use. Make sure you added at least one Provider in the Adaptive Performance Settings.
@오늘코딩
@오늘코딩 Жыл бұрын
Adaptive Performance 관련된 설정이 잘못되어있는것 같네요. 패키지매니저에서 Adaptive Performance 찾아서 삭제하시거나, 아니면 올바르게 세팅해주면 될 것 같습니다. 유니티 Adaptive Performance라고 구글에 검색하셔서 공식문서 확인해보시길 바랍니다.
@Wind_mill
@Wind_mill Жыл бұрын
@@오늘코딩 잘몰라서, 모두 삭제하고 다시 만들었더니 잘됩니다! 감사합니다!
@이강민-h3y
@이강민-h3y 2 жыл бұрын
좋은 영상
@tetras699
@tetras699 2 жыл бұрын
저여태까지 존속성을 종속성으로 알고있었어요 ㅋㅋㅋㅋㅋㅋ
@감사합니다잘보겠습니
@감사합니다잘보겠습니 2 жыл бұрын
재밌어요
@mayilagann3833
@mayilagann3833 2 жыл бұрын
무지성 싱글톤 멈춰!!!!!!!
@고양이5000원
@고양이5000원 Жыл бұрын
뭐라하노..
@게임개발자-b5e
@게임개발자-b5e Жыл бұрын
난 왜 하나도 이해가 안될까..
@abcd99999f
@abcd99999f 2 жыл бұрын
근데 그냥 public쓰지 뭐하러 private 씀? 그거 보안 의미 ㅈ도 없는데
@훨훨나빌레라
@훨훨나빌레라 Жыл бұрын
꼭 보안의 의미로 쓰는건 아니라서용....
@reasure3
@reasure3 Жыл бұрын
외부에서 instance을 직접 바꾸는걸 방지하는 역할도 있습니다.
디자인패턴 - 전략 패턴(Strategy Pattern)
15:08
오늘코딩
Рет қаралды 125 М.
小丑教训坏蛋 #小丑 #天使 #shorts
00:49
好人小丑
Рет қаралды 54 МЛН
Арыстанның айқасы, Тәуіржанның шайқасы!
25:51
QosLike / ҚосЛайк / Косылайық
Рет қаралды 700 М.
디자인패턴의 탄생과 유행 그리고 현재
3:11
오늘코딩
Рет қаралды 12 М.
초보자를 위한 에셋번들 - 개념 설명 및 기본 구현
14:05
얄코의 객체지향 디자인 패턴 - Part 1
1:01:00
얄팍한 코딩사전
Рет қаралды 5 М.
디자인패턴, Singleton Pattern, 싱글톤  패턴
6:36
코드없는 프로그래밍
Рет қаралды 15 М.
제대로 이해하는 싱글톤패턴
15:42
큰돌의터전
Рет қаралды 6 М.
국가권력급 유니티 꿀팁 정리
7:01
오늘코딩
Рет қаралды 11 М.
小丑教训坏蛋 #小丑 #天使 #shorts
00:49
好人小丑
Рет қаралды 54 МЛН