나는 다음과 같은 기능에 의해 정의 된 "단일 사용"디자인 패턴에 따라 몇 가지 클래스를 만드는 방법에 대해 생각하고 있어요 :일회용 개체 : yea 또는 nay?
- 인스턴스는 어떤 작업을 수행하는 데 사용됩니다.
- 인스턴스는 작업을 한 번만 실행합니다.
execute
메서드를 두 번 호출하려고하면 예외가 발생합니다. execute
메서드가 호출되기 전에 속성을 수정할 수 있습니다. 나중에 전화하면 예외가 발생합니다.public class Worker { private bool _executed = false; private object _someProperty; public object SomeProperty { get { return _someProperty; } set { ThrowIfExecuted(); _someProperty = value; } } public void Execute() { ThrowIfExecuted(); _executed = true; // do work. . . } private void CheckNotExcecuted() { if(_executed) throw new InvalidOperationException(); } }
질문 :
미니멀 구현은 다음과 같을 수 있습니다
- 의 이름이 거기에 있습니까?
- 패턴 또는 패턴 방지?
'timeout'을 매개 변수로 받아들이는 함수가 하나 뿐인 이유는 무엇입니까? 또한 휠을 다시 만들 수도 있습니다. http://msdn.microsoft.com/en-us/library/system.threading.tasks.task.aspx – Matthew
예제는 미니멀리스트입니다. 현실 세계에서 나는 메소드 삽입이 잘 맞지 않는 유스 케이스를 구상 중이다. 'timeout'은 임의의 속성 이름을 염두에 두는 첫 번째 일이었습니다. 좀 더 Lorem Ipsum에 가보겠습니다. –