Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Multi Transaction
- 다중 트랜잭션
- exit code
- Design Pattern
- 디자인 패턴
- 다중 데이타소스
- 트랜잭션 쓰기 지연
- 변경 감지
- JDK
- Multi Datasource
- SpringBoot 2.0
- 활성프로브
- mybatis
- OneToMany
- docker
- Java
- ManyToOne
- ManyToMany
- JPA
- SpringBoot
- 종료코드
- openjdk
- MaxRAMPercentage
- Entity
- 영속화
- OneToOne
- OracleJDK
- chroot exit code
- dirty check
- K8s
Archives
- Today
- Total
조금 평범한 개발 이야기
모노스테이트 패턴 본문
개요
모노스테이트 (MONOSTATE) 패턴은 싱글톤 (SINGLETON) 패턴과 같이 동일하게 객체의 단일성을 구성하기 위한 패턴 입니다.
하지만 싱글톤 패턴은 단일 인스턴스를 제공하는 구조를 제공하고 모노스테이트는 단일 상태를 가지는 행위를 제공 하는점이 차이점 입니다.
설명
모노스테이트 패턴은 변수를 static 으로 구성하지만 메소드를 static 로 구성 하지 않는 특징을 가지고 있습니다. 이는 모노스테이트 클래스나 모노스테이트를 상속 받은 하위 클래스에서 생성되는 모든 인스턴스는 동일한 상태 변수를 가지게 된다는 것을 의미 합니다. 인스턴스를 많이 생성 하더라도 결국 하나의 상태 값을 서로 공유 하는 것이죠.
즉 어떤 클래스라도 변수를 static 으로 구성하고 이를 사용 한다면 모노스테이트 패턴을 준수한다고 볼 수 있습니다.
또한 모노스테이트를 사용할때와 일반 클래스를 사용할때의 차이점은 없기 때문에 이 객체가 모노스테이트임을 알 필요가 없습니다.
정리
- 모노스테이트 패턴은 단일 상태를 가지는 행위를 제공 합니다.
- 모노스테이트는 static 상태 변수를 가지며 이를 사용하는 일반 getter, setter 를 제공 합니다.
- 모노스테이트가 static 상태 변수를 가지기 때문에 여기에서 파생되는 모든 인스턴스는 동일한 상태를 가지게 됩니다.
- 모노스테이트를 사용할때 일반 클래스와 차이점이 없기 때문에 동일하게 사용 할 수 있습니다.
Comments