是设计模式吗?链条
本文关键字:链条 设计模式 | 更新日期: 2023-09-27 17:58:21
如何调用该类''结构?也许是设计模式?
任务:
我有一个收藏,我需要搜索项目
我有三个级别可供搜索
我创建了一个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;
}
}
从外观上看,这看起来像是责任链设计模式的(正确)实现。
这是另一个,更多。NET为中心的示例:http://www.dofactory.com/Patterns/PatternChain.aspx