상속과 활용 복제할 객체를 정의하는 인터페이스 또는 추상 클래스입니다.이는 복제 메서드를 정의하고, 해당 메서드를 통해 객체를 복제합니다.비용이 낮은 객체 생성일반적으로 어떤 객체를 생성하는데에는 많은 자원이 소모되지만, 한번 생성 후 이를 복제하여 사용하면 많은 비용
유사한 기능을 가진 여러 객체들이 특정 유형 객체를 참조하여 공통된 특성을 공유할 수 있도록 하는 것이다.상속을 쓰기 어려운 상황일때, 가령 동물 게임을 만드는데 생선, 새 등을 분류하는데에서 2번 예시를 활용 할 것이다1번 예시와 같이 데이터가 공통적으로 들어있을때
나도 모르게 사용하고 있는 wrapper pattern 에 대해 알아보고자한다.class WrapClass{ private OriginalClass originalClass;}class OriginalClass{ public void DoSomething(
Adapter Pattern 은 기존에 사용중인 Class 의 기능을 가져와서 새로운 클래스의 인터페이스에 맞춰주는 역할을 한다.코드의 재사용성을 높여주므로 알아두는 것이 좋다.
옵저버는 일대다 방식으로 이벤트 처리에 유용하고, 런타임에 동적으로 객체를 추가하고 제거 할 수도 있다. 그러나 무질서 할 수도 있지만 이것을 없애는 것이 필요하다면 모든 객체에게 알림을 보낼 때 일정 조건을 추가 하면 된다. 그리고 메모리 누수가 발생 할 수도 있을
각각의 방문자별로 다른 기능을 수행하는 것이다.의사가 한 명 있을 때 다른 유형의 학생들을 각각 다르게 대해야 한다그럴 때 사용하는 것이 방문자 패턴이다위에 예시와 관련해서 방문자 패턴을 작성 해 보았다.
캡슐화 : 코드를 수정하지 않아도 상태를 추가 할 수 있고, 클래스별로 상태패턴에 대한 기능을 나눌 수도 있고, 캡슐화가 되어 있어서 유지보수에 유리하다.상태 변경을 부드럽게 하려면 많은 양의 코드를 필요로 한다.그러나 애니메이터, 애니메이션 기능을 적절히 활용하면 해
리플레이 시스템 매크로, 시퀀싱(되돌리기, 다시하기)코드가 조금 복잡해진다.CommandBase : CommandConcrete 라는 Class 를 생성 할 때 반드시 상속받는 abstract Class 이다 (단 필요에 따라 Abstaract Class 가 아니라 I
단일 책임 원칙코드를 수정하지 않고 추가에는 긍정적으로 작용 할 수 있다.상태들간의 상호작용을 구현하는데에 어려움이 있다.클래스 수가 많아지므로 코드량이 늘어난다
단일 책임 원칙기존 Class 의 코드를 수정하지 않고 Decorator Class를 추가객체(Decorator Class) 수 증가여러 객체(Decorator Class)의 순서 의존성, 조합 과정에서의 복잡성 문제
객체 상태의 스냅샷을 만들어 나중에 복원할 수 있도록 해주는 패턴입니다.비주얼 노벨 게임에서 게임 기록 혹은 이전 상태 복원 뒤로 가기플레이어의 진행 상황