상태 패턴을 사용하려고하는데 질문이 있습니다.상태 패턴의 최대 상태 수
가 TCPState : 1- 2 TCPLisenting이 3가 등
을 TCPClosed 아니면이 수백 경우에 사용할 수 있습니다 TCPEstablished에만이 같은 국가의 제한된 수 situtations을 위해 설계 상태의 패턴은 예를 들어 근로자가 출석 시스템에서 근무하는 직원은 직원이 자신의 잔고에 포함 된 연간 휴가 수, 이번 달에 보상해야 할 시간 수, 시간당 급여를 나타내는 국가와 같은 여러 구성 요소의 복합 상태를 갖습니다. 이번 달의 작업량에 따라 각 직원은 결국 상태 w로 간주되는 여러 속성의 조합을 가질 수 있습니다 어떤 행동.
이 경우에는 상태 객체가 hundrerds가 될 것입니다. 올바른 일이 무엇입니까? 어떻게 상태 객체 이름을 관리하겠습니까? 예를 들어 주 중 3 분의 1이 특정 방법에 대해 특정 행동을 공유하고 다른 4 분의 1에 특정 방법 등에 대해 다른 행동을 공유하는 경우 어떻게 할 것인가? 즉 모든 주마다 모든 방식에서 고유 한 행동을 취할 필요는 없습니다. 나는이 일반적인 메소드에 대해 동일한 동작을하는 모든 주에 구현을 복사하고 붙여 넣는 것이 현명 할 것이라고 생각하지 않는다.
대단히 감사합니다.
일반적으로 언급 한 변수를 사용하여 제한된 수의 상태를 정의 할 수 있다면 State 패턴을 사용할 수 있다고 생각합니다. '급여 1/2/3', '보완하는 데 8 시간 이내'등이 있습니다.하지만 어떤 소프트웨어를 구축하고 싶은지, 그리고 왜 주 패턴을 사용해야하는지에 대해 설명하는 것이 좋습니다. 처음에는 –
이 시스템은 사용자에게 특정 위치에 액세스 할 수있는 액세스 카드를 부여하는 허가 관리 시스템입니다. 허가증에는 여러 가지 특성이있어 함께 결합되면 특정 행동을 강요하게되는 상태가 형성되어 그 때문에 내가 주립 패턴을 선택하게됩니다. 허가증에는 State atrribute (6 변형으로 구성) 및 StoppedState 특성 (3 변형으로 구성됨)과 허가가 인쇄되었는지 여부를 나타내는 IsPrinted 특성이 있습니다. 고맙습니다. – Sisyphus
[내 이전 의견을 신경 쓰지 마세요; 그것을 제거했다] 당신이 위에 쓰는 것에서 그것은 다른 주들의 수가 이미 제한되어있는 것처럼 보입니다 (6+ 3). 현재 활성 상태가 스스로 무제한 (또는 매우 큰) 가능한 값을 갖는 매개 변수를 기반으로 선택된다는 사실이 사용자의 상태 수가 제한되지 않는다는 것을 의미하지는 않습니다. –