Med*_*tor 3 c# design-patterns
如何调用该类\结构?也许是设计模式?
任务:
我有一个我需要搜索项目的集合.
我有3个级别的搜索.
我创建一个Matcher链并在每个级别上搜索集合,如果找不到则将集合传递到下一级别.
我正在寻找什么是设计模式.
class Matcher
{
private readonly Matcher _nextMatcher;
private readonly Func<lambda, bool> _predicate;
public Matcher(
Matcher nextMatcher,
Func<lambda, bool> predicate)
{
_nextMatcher = nextMatcher;
_predicate = predicate;
}
public bool Match(Collection<SomeObject> someObjects,
IEnumerable<SomeObject> sourceObjects)
{
if (!_predicate(someObjects, sourceObjects))
{
if (_nextMatcher == null)
return false;
return _nextMatcher.Match(someObjects, sourceObjects);
}
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
从它的外观来看,这看起来像是(正确的)责任链设计模式的实现.
这是另一个更以.NET为中心的例子:http://www.dofactory.com/Patterns/PatternChain.aspx
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |