Ken Auer가 대중화 한 인 에이 블러 패턴에 대한 자세한 내용은 어디에서 찾을 수 있습니까?

StackOverflow https://stackoverflow.com/questions/1100160

문제

그의 책에서 극단적 인 프로그래밍 적용, Ken Auer는 자연스럽게 인 에이 블러 패턴을 언급합니다. Kent Beck은 또한이를 언급하지만 (최소한 2004 년 11 월 8 일자 이메일로) 일반적인 장소에서 세부 정보를 찾을 수 없었습니다 (Google, Wiki at C2.com 등).

더 자세한 내용은 어디에서 찾을 수 있습니까?

도움이 되었습니까?

해결책

인 에이 블러 패턴은 실제로 관찰자 패턴의 변형 일뿐입니다. 시스템의 흥미로운 부분에 관찰자를 설정하여 조건을 만듭니다. 그런 다음 인 에이 블러는 조건을 관찰하고 위젯을 활성화/비활성화 할 수 있습니다.

예를 들어 창을로드 할 때 목록이나 콤보 상자 (또는 목록 아래의 모델 또는 콤보 박스의 모델)가 선택한 것과 같은 조건을 만듭니다. "SomethingselectedCondition"과 같은 것을 부를 수 있습니다. 그런 다음 하나 이상의 조건에 연결된 위젯에 인 에이 블러를 연결합니다 (일반적으로 원하고 함께 할 수있는 것 및/또는 함께 할 수 있습니다 ... 실제로는 실제로 함께하고 있습니다).

나는 일반적으로 당신이 전달하는 매개 변수 중 하나가 함께 및 함께 할 때 위젯을 활성화/비활성화하는 명명 된 조건의 배열이되도록 위젯 공장을 사용하여 이들을 구현합니다. 예를 들어

widgetFactory.createButton (String ButtonLabel, String MethodActionName, String [] ConditionNames)

ConditionNames는 일종의 해시 맵에서 사용할 수있는 조건을 조회하고, compositecondition (조건의 모든 부울 값 및 모든 부울 값)을 생성하고 CompositeCondition을 청소하고 생성 된 위젯이 활성화/비활성화하도록 지시하는 인 에이 블러를 생성합니다. 기본 조건에 따라.

조금 복잡하게 들리지만 일단 기본 인프라를 만들면 몇 줄의 코드 라인이 조건을 연결 한 다음 사용자 인터페이스가 항상 조건과 동기화됩니다.

나는 공식적으로 인 에이 블러 패턴을 작성한 적이 없다고 생각합니다.

HTH,

시야

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top