디자인 패턴중 하나인 옵저버 패턴에 대한 정리 옵저버 패턴 옵저버 패턴이란? 주체가 어떤 객체의 상태 변화를 관찰하다가 상태 변화가 있을때 마다 메서드 등을 통해 옵저버 목록에 있 옵저버 들에게 변화를 알려주는 디자인 패턴. 주체란 객체의 상태 변화를 보고 있는 관찰자. 옵저버들이란 이 객체의 상태 변화에 따라 전달되는 메서드 등을 기반으로 추가 변화 사항이 생기는 객체들을 의미. 주체와 객체를 따로 두지 않고 상태가 변경되는 객체를 기반으로 구축하기도 함. 이벤트 기반 시스템에 사용하며 MVC(Model-View-Controller) 패턴에도 사용됨. 예:) 주체(model) 에서 변경사항이 생김 => update() 메서드로 옵저버인 뷰(View)에 전달 => 이를 기반으로 컨트롤러(Controlle..
디자인 패턴중 하나인 팩토리 패턴에 대해 정리 *이미지는 팩토리 메서드 패턴과 추상 팩토리 패턴 팩토리패턴 팩토리 패턴이란? 객체를 사용하는 코드에서 객체 생성부분을 떼어내 추상화한 패턴. 상속관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴. 상위 클래스와 하위클래스가 분리되기 때문에 느슨한 결합을 가짐. 상위 클래스에서는 인스턴스 생성방식에 대해 전혀 알 필요가 없기 떄문에 더 많은 유연성을 가질수 있음. 코드를 리팩터링 하더라도 한 곳만 고칠수 있게 되니 유지 보수성이 증가됨. 팩토리패턴의 종류 단순 팩토리 패턴(Simple Factory Pattern) 팩토리 메서드 패턴(Factory Method Pattern) 추상..
옵저버 패턴이란? 객체간의 일대다 의존관계를 정의하는 패턴 옵저버 패턴의 구성요소 Subject : 주체객체 또는 옵저버들을 등록하고 상태 변화를 알리는 메서드를 제공한다. Observer : 상태변화를 감지하고 처리하기 위한 메서드를 정의하는 인터페이스 또는 추상클래스. ConcreteSubject: Subject를 구체화한 클래스로, 상태 변화가 발생하면 등록된 옵저버들에게 알림을 전달. ConcreteObserver: Observer를 구체화한 클래스로, Subject에 등록되어 상태 변화를 감지하고 처리. 옵저버 패턴의 장점 느슨한 결합 : Subject와 Observer 간에는 인터페이스를 통해만 의존관계를 형성하므로 각 객체간의 결합도가 낮아진다. 확장성: 새로운 Observer를 추가하거나 ..
https://github.com/Romanticism-GameDeveloper/GameDeveloper-Client-Interview/blob/main/DesignPattern/SingletonPattern.md GitHub - Romanticism-GameDeveloper/GameDeveloper-Client-Interview: 게임 클라이언트 개발자 면접 리스트 정리입 게임 클라이언트 개발자 면접 리스트 정리입니다. Contribute to Romanticism-GameDeveloper/GameDeveloper-Client-Interview development by creating an account on GitHub. github.com 정의 클래스의 인스턴스를 한개만 가지게 하는 디자인 패턴 ..