Sea*_*n U 5 c# oop design-patterns
我正在考虑按照“一次性”设计模式创建一些类,由以下功能定义:
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();
}
}
Run Code Online (Sandbox Code Playgroud)
问题: