gpt4 book ai didi

c# - 是设计模式吗?链

转载 作者:行者123 更新时间:2023-11-30 14:10:37 26 4
gpt4 key购买 nike

如何称呼该类\结构?也许是设计模式?

任务:
我有一个我需要搜索项目的集合。
我有 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;
}
}

最佳答案

从外观上看,这看起来像是 Chain of Responsibility 的(正确)实现设计模式。

这是另一个更以 .NET 为中心的示例:http://www.dofactory.com/Patterns/PatternChain.aspx

关于c# - 是设计模式吗?链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23069514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com