2011-02-06 9 views
2

도메인 모델의 컨텍스트에서 편집 양식을 표현하는 가장 좋은 방법이 무엇인지 궁금해서 명령 설계 패턴을 완성했습니다. - 내가 편집 가능한 매개 변수 (전체 명령이 UI/형태로 편집한다)상태 저장 명령 패턴

이 왜 간주됩니다 상태 보존 명령을 필요 Using Command Design pattern 명령은 내가 필요하지 않은 불변이어야한다 : 이것에 따르면

스테이트 풀 명령을하는 것이 나쁘지 않습니까?


편집 : 그것은 지금 분명 몇 시간 후 나는 뷰 모델 패턴을 찾고 있었다. 그것이 모든 웹 응용 프로그램 화면을 모델링하는 적절한 방법입니다. 기본적으로 상태 기반 (보기 인스턴스 당) 컨트롤러입니다.

+0

변경 가능한 명령을 구현해 보셨습니까? 이 과정에서 해결할 수없는 문제를 해결 했습니까? – fredoverflow

+0

아니요 - 구현할 것입니다. 문제가 없는지 궁금합니다 ... –

+0

@kamil,이게 실행 취소 할 수 있습니까? – hvgotcodes

답변

2

스냅 샷에서 현재 상태를 다시 만드는 데 사용할 수 있기 때문에 여전히 변경할 수 없기를 바랄 수 있습니다. 그러나 명령을 적용한 후에 변경할 수없는 한 원하는 모든 매개 변수를 가질 수 있습니다.

0

변경 가능한 경우 대신 FlyWeight 패턴을 사용하는 것이 좋습니다. 명령 패턴과 유사하게 만들 수 있습니다. 객체의 해시와 동일한 객체를 이미 재사용하여 객체 상태를 유지할 수 있기 때문입니다.

FlyWeight는 (해시 함수로) 즉석에서 호출 할 수있는 단일 개체의 그룹으로 생각할 수 있습니다.

그래서 플라이급 공장은 모든 개체를 해시지도에 저장하고 팩토리를 사용하여 상태를 유지하는 개체를 검색 할 수 있습니다.

http://www.avajava.com/tutorials/lessons/flyweight-pattern.html -> 누구나 참고할 수 있습니다.