오늘 배운 유니티 정리, 간단하게 정리해달라고 gpt에게 부탁했음.
- 수업시간 때 배운 디자인 패턴 활용해서 게임 만듦
- 잘 안죽는 버그 수정해야 함
깃허브 링크
- 결과물
깃허브 링크- time controller 스크립트 참고해서 다음 팀프로젝트 때 적용할 예정
오늘은 싱글톤, 옵저버, 팩토리에 대해서 간단하게 배움.
- 싱글톤 패턴 (Singleton Pattern)
목적: 애플리케이션에서 특정 클래스의 인스턴스를 오직 하나만 생성하도록 보장하고, 해당 인스턴스를 전역에서 접근할 수 있게 해주는 패턴입니다.
사용 이유: 객체가 여러 개 존재할 필요 없이 하나만 존재해야 하는 경우에 유용합니다. 예를 들어, 설정 관리 클래스나 데이터베이스 연결 객체가 하나만 있어야 할 때 사용됩니다.
- 구현:
생성자를 private으로 설정하여 외부에서 인스턴스를 생성하지 못하도록 막습니다.
클래스 내부에서 static으로 인스턴스를 가지고, 처음에 인스턴스를 생성하고 그 이후엔 그 인스턴스를 반환합니다.
- 옵저버 패턴 (Observer Pattern)
목적: 한 객체의 상태 변화가 있을 때, 그 객체에 의존하는 다른 객체들에게 자동으로 통지하는 패턴입니다. 주로 이벤트 시스템에서 사용됩니다.
사용 이유: 객체 간의 결합도를 낮추면서 상태 변경을 자동으로 알리고 싶은 경우에 유용합니다. 예를 들어, UI와 데이터 모델 간의 연결을 할 때 사용됩니다.
- 구현:
Subject(주체) 객체는 상태 변화 시 Observer(관찰자) 객체들에게 알리는 역할을 합니다.
Observer는 Subject가 상태를 변경하면 이를 알리고 적절한 반응을 합니다.
- 팩토리 패턴 (Factory Pattern)
목적: 객체의 생성 과정을 서브클래스나 팩토리 클래스를 통해 처리하게 하여, 객체 생성 방식을 클라이언트 코드와 분리하는 패턴입니다. 객체 생성 로직이 복잡할 때 유용합니다.
사용 이유: 객체 생성 로직을 클라이언트 코드에서 분리하여 코드의 유연성과 유지보수성을 높이고, 객체의 생성 방식을 중앙화시킬 수 있습니다.
- 구현:
팩토리 메소드를 통해 객체를 생성하고, 클라이언트는 이 메소드를 호출해 객체를 얻습니다.