디자인패턴을 공부할 때 항상 SOLID 원칙은 중요하게 다뤄지며, 이를 활용하면 코드의 유지보수성과 가독성이 크게 향상된다.SOLID는 다섯가지 원칙의 영문명 앞글자를 딴 것이다. Single responsibility 단일 책임 원칙Open closed 개방 폐쇄 원

전략(Strategy) 패턴은 프로그램이 실행되는 도중에 알고리즘을 선택해서 적용하는 디자인 패턴이다. 어떤 기능이 동작할 때 다양한 로직으로 실행이 가능하면서 이를 구분해야하는 경우에 주로 사용한다. 전략 패턴은 다음과 같은 큰 특징이 있다.각각의 알고리즘(전략)을

MVC와 MVP, MVVM와 같은 아키텍처 패턴은 코드의 분리와 유지보수성, 협업 효율을 높이는 데 목표를 두고 있기에 복잡한 UI 설계에서 자주 사용된다. 이들은 모두 UI와 비즈니스 로직, 데이터 간의 역할을 명확히 구분하여 Separation of Concern(

게임에는 정말 많은 상황이 존재한다. 플레이어나 몬스터와 같은 캐릭터의 공격, 방어, 죽음 등 작은 오브젝트의 상태부터 게임 전체적인 로비, 전투, 결과, 게임오버까지 다양한 상황들이 발생하고 이를 통해 유저의 플레이 경험에 영향을 끼친다.게임처럼 다양한 상태가 존재하

옵저버패턴은 어떤 주체(Subject)에 변화가 생기면 이를 관측하는 옵저버(Observer)들에게 이를 이벤트 형태로 알리고 각 옵저버가 필요한 동작을 수행하게 만드는 디자인 패턴이다. 특히 Invoke() 메서드와 Action 델리게이트는 C간단한 예를 들어서 살펴
이벤트 버스(Event Bus) 패턴은 옵저버패턴과 같이 상태 변화 이벤트를 활용해 특정한 동작을 수행하게한다는 공통점이 있지만 이벤트를 관리하는 방식과 확장성에서 차이가 난다.옵저버 패턴은 주체와 구독자가 직접적으로 연결되지만, 이벤트 버스 패턴에서는 중간 관리자인
팩토리 패턴은 객체의 생성에 관련된 디자인 패턴 중 하나다. 객체를 생성하는 로직을 캡슐화하여 유지보수성과 확장성을 높이기 위해서 사용한다.팩토리 패턴에는 크게 심플 팩토리 패턴, 팩토리 메서드 패턴, 추상 팩토리 패턴의 3가지가 있다.이 셋을 비교하고 예시를 만들어
커맨드 패턴은 사용자가 보낸 요청 자체를 객체로 캡슐화하여 요청에 필요한 정보를 저장하거나 기록하여 나중에 재사용 가능하도록 하는 디자인패턴 중 하나다.기존에는 객체가 할 수 있는 동작을 함수로 정의하고 호출하는 식으로 특정 동작을 시켜왔다.커맨드 패턴을 활용하면 이런