본문 바로가기

설계/디자인 패턴

모노스테이트 패턴

개요

모노스테이트 (MONOSTATE) 패턴은 싱글톤 (SINGLETON) 패턴과 같이 동일하게 객체의 단일성을 구성하기 위한 패턴 입니다.

하지만 싱글톤 패턴은 단일 인스턴스를 제공하는 구조를 제공하고 모노스테이트는 단일 상태를 가지는 행위를 제공 하는점이 차이점 입니다.


 

설명

모노스테이트 패턴은 변수를 static 으로 구성하지만 메소드를 static 로 구성 하지 않는 특징을 가지고 있습니다. 이는 모노스테이트 클래스나 모노스테이트를 상속 받은 하위 클래스에서 생성되는 모든 인스턴스는 동일한 상태 변수를 가지게 된다는 것을 의미 합니다. 인스턴스를 많이 생성 하더라도 결국 하나의 상태 값을 서로 공유 하는 것이죠.

즉 어떤 클래스라도 변수를 static 으로 구성하고 이를 사용 한다면 모노스테이트 패턴을 준수한다고 볼 수 있습니다.

또한 모노스테이트를 사용할때와 일반 클래스를 사용할때의 차이점은 없기 때문에 이 객체가 모노스테이트임을 알 필요가 없습니다.


 

정리

  • 모노스테이트 패턴은 단일 상태를 가지는 행위를 제공 합니다.
  • 모노스테이트는 static 상태 변수를 가지며 이를 사용하는 일반 getter, setter 를 제공 합니다.
  • 모노스테이트가 static 상태 변수를 가지기 때문에 여기에서 파생되는 모든 인스턴스는 동일한 상태를 가지게 됩니다.
  • 모노스테이트를 사용할때 일반 클래스와 차이점이 없기 때문에 동일하게 사용 할 수 있습니다.

'설계 > 디자인 패턴' 카테고리의 다른 글

널오브젝트 패턴  (0) 2020.08.22
모노스테이트 패턴  (0) 2020.08.22
싱글톤 패턴  (0) 2020.08.20
파사드 패턴  (0) 2020.08.20
스트래티지 패턴  (0) 2020.08.18
템플릿 메소드 패턴  (0) 2020.08.18