본문 바로가기

프로그래밍374

디자인 패턴 공부 - 싱글톤 패턴의 학습 - 안녕하세요? 디자인 패턴을 공부한 지도 약간의 시간이 지났는데, 이 싱글톤 패턴은 주로 게임 매니저와 같이 무언가를 공유하면서도 동시에 여러번 new를 붙여서 새로운 것을 만들지 않아도 되는 패턴이라고 할 수 있습니다. 이걸 전에 저는 파이썬으로 주식 자동거래 시스템을 만들때는 어떻게 자본금을 공유하는 것으로 해서 만들기 위해서 사용한 적이 있어서 이해는 아주 쉽게 되었습니다. 가장 먼저 싱글톤 패턴으로 구현하게 될 클래스를 만들어야 하는데, 우선 조심해야 하는 것은 위 스크린샷에서 private로 시작하는 것은 바로 클래스의 변수를 선언하는 과정이라고 할 수 있습니다. 여기서 반드시 static을 붙여야만 에러가 나지 않았으며, 녹색선은 클래스안의 전역 변수를 선언하는 과정에서 그 변수의 타입이며, 붉.. 2024. 3. 6.
디자인 패턴 공부 - 프로토 타입 패턴의 학습 -2- 안녕하세요? 지난번에 디자인 패턴 중에서 원형 패턴이라고 불리는 프로토타입 패턴에 대해서 한번 실습을 해 보기는 했습니다만, 문제는 항상 남아 있습니다. 우선 가장 큰 것이라고 하면, 역시나 경량 패턴은 같은 오브젝트를 위치만 다르게 해서 복제하는 것이라면, 프로토타입 패턴이라는 원형 패턴은 '비슷한' 오브젝트를 복제해서 만들어 낸다는 큰 차이점이 있다는 것 입니다. 먼저 부모 클래스에서 변수를 물려주기 위해서는 위 스크린샷에서 볼 수 있는 것처럼 일단 하나하나 변수를 선언해 주도록 합니다. 그리고 나서 이 물려받은 변수를 제대로 표현할 수 있도록 출력이 나올 수 있게 어떻게 만들어 주도록 합니다. 이렇게 하는 것으로 일단 작업을 하나 했으며........ 이제 몬스터 1과 2를 생성해 보도록 하는데, .. 2024. 2. 28.
디자인 패턴 공부 - 프로토 타입 패턴의 학습 -1- 안녕하세요? 이번에는 프로토 타입이라고 해서 진짜로 데이터를 가진 몬스터를 대량으로 복사할 때 사용되는 디자인 패턴이 있습니다. 다만 먼저 들어가기에 앞서서 이 프로토타입 패턴이 어디를 봐서 경량패턴과 차이가 있는지는 몰랐습니다만, 나중에 알아 보니까, 경량 패턴의 경우에는 메모리를 줄이고 크게 데이터가 의미 없을 배경에만 사용하는 것이라면.... 이 프로토 타입 패턴은 하나하나 데이터를 일일히 입력하지 않고 공통된 데이터를 보유한 상태에서 가지가지 스탯이 다른 몬스터를 생성할 때 필요한 패턴이라고 이해를 하였습니다. 먼저 프로토타입이 될 클래스를 지정해 주고 나서, 여기다가 데이터가 변하면 안되기 때문에, 클래스를 선언하는 문자열 앞에 abstract를 붙여 주도록 합니다. 그리고 나서 이후 이 몬스터.. 2024. 2. 27.
디자인 패턴 공부 - 관찰자 패턴의 학습 - 안녕하세요? 어떻게 보면 이 관찰자 패턴이라고 영어로는 옵져버 패턴 (Observer Pattern)이라고 불리는 이 패턴은 상당히 복잡할 수도 있겠다는 생각이 듭니다만, 실제로는 핵심이 되는 코드는 의외로 간단하다고 합니다. 원래는 유투브에서 파이썬으로 구현이 되어 있는 코드를 일단 C#으로 간단하게 구현해 보았습니다. 먼저 여기서는 관찰자가 될 클래스를 2개 만들어 놓고서, 여기다가 inferface를 붙여 주도록 합니다. 물론 각각의 관찰자인 옵져버 안에서는 Update라는 메서드가 작동될 것을 상정하고 만들어 주도록 합니다. 그리고 나서 여기가 핵심인데, 이 관찰자가 된 클래스를 리스트 형태로 일단 저장시켜 주도록 합니다. 이 작업을 하기 위해서 interface를 붙여 준 것이고, 이제 여기서 .. 2024. 2. 21.