这是设计模式吗?责任链

3

怎样称呼那个类/结构体?
也许是设计模式?

任务:
我有一个集合,需要搜索其中的项。
我有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;
    }
}
1个回答

7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接