是设计模式吗?链条

本文关键字:链条 设计模式 | 更新日期: 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