몇 가지 속성이있는 클래스가 있습니다. 일부 특성은 다른 클래스에 의해 변경 될 수 있지만 일부 특성은 다른 특성에 종속적입니다. 예를 들어, 내 클래스에는 A, B, C 세 가지 속성이 있다고 가정합니다. A와 B는 시스템의 다른 클래스에서 변경할 수 있으며 C는 A + B와 같습니다. 클래스는 속성 변경 알림을 생성합니다. 따라서 A 또는 B가 변경된 경우를 원합니다. 변경된 등록 정보 (A 또는 B)에 대한 통지가 생성되고 통지도 C에 대해 생성됩니다. 제가이 문제에 가장 적합한 디자인 패턴은 무엇입니까?
2- 정상적인 C 속성을 생성
1- (배면 필드) 정상적인 C 속성 생성 (? 기타) 세 가지 옵션 및 C.을 변경할의 세터와 B의 코드를 추가 클래스 내에서 클래스 변경 알림을 듣고 A 또는 B가 변경되면 C를 변경합니다. 내가 모두에 대한 속성의 변화를 발생 (또는 B)과 C.
어느
-3- C에 대한 어떠한 세터 연산기 속성 만들기 없지만 게터 A (및 B)의 세터에, A + B이며 더 나은 디자인 패턴 (C#에서)? 저는 개인적으로 디자인 번호 2를 좋아합니다.
관찰자 패턴이 좋다.이 경우 관찰자와 관찰자는 같은 클래스이다. 이 패턴을 사용하는 것은 클래스가 자신의 속성 변경 알림을 듣고 그에 따라 자체 변경 사항을 관찰 할 때 디자인 2와 같습니다. – mans