
클래스의 인스턴스가 하나만 생성되도록 보장하는 패턴이다. 이 패턴은 특정 클래스의 객체를 프로그램 내에서 한 개만 만들어 사용하고 싶을 때 사용된다예를 들면, 시스템 내에서 하나만 존재하는 리소스에 접근하는 경우인데로깅, 드라이버 객체, 캐시 등에 싱글톤 패턴이 주로

MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데널리 사용되는 소프트웨어 디자인 패턴이다.소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있다.이러한 "관심사 분리" 는 더나은 업무의 분리와 향상된 관리를 제공한다.MVC

MVC 패턴에서 Controller는 View 를 선택만 할 뿐이다. 즉, 직접 업데이트하지 않는다.View 를 업데이트 하기 위해서 아래와 같은 방법들이 있다.View가 Model을 직접 이용하여 업데이트 Model에서 View에게 Notify 하여 업데이트

생성 패턴 중 하나로생성 로직을 캡슐화하여 클라이언트 코드에서 직접 객체를 생성하지 않도록 하는 것이 목표이다.즉, 객체의 생성 코드를 별도의 클래스/메서드로 분리함으로써 객체 생성의 변화에 대비하는 데 유용하다.단순 팩토리는 클래스가 아니라 메소드다. 이 메소드는 클

옵저버 패턴(Observer Pattern)은 소프트웨어 디자인 패턴 중 하나로서, 객체 간의 일대다 의존성을 정의한다. 이 패턴은 한 객체의 상태가 변경될 때마다 그 객체에 종속된 모든 객체에 그 변경사항을 자동으로 알린다.옵저버 패턴은 주로 분산 이벤트 핸들링 시스

커맨드 패턴은 행동 디자인 패턴 중 하나로, 요청을 객체의 형태로 캡슐화 하여 다른 객체에게 전달, 저장, 또는 실행을 요청할 수 있는 구조를 제공한다. 이 패턴은 요청자(Invoker)와 수신자(Receiver) 사이의 직접적인 연결을 제거하여코드의 유연성과 재사용성

빌더 패턴은 복잡한 객체를 생성하는 방법을 정의하는 디자인 패턴으로,일반적으로 객체 생성과 객체 표현을 분리하는 목적으로 사용된다. 즉, 동일한 생성 절차를 통해 서로 다른 표현 결과를 만들 수 있다.생성할 객체의 각 부분을 생성하고 조립하는 방법을 정의하는 인터페이스

클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환하는 디자인 패턴이다 즉, 인터페이스가 서로 호환되지 않는 클래스들이 함께 작동하도록 해주는 패턴이다.