gpt4 book ai didi

c# - 为了避免将来的验证而返回一个 String 的包装器是否有意义?

转载 作者:行者123 更新时间:2023-11-30 17:53:48 26 4
gpt4 key购买 nike

为了避免将来的验证而返回一个简单字符串对象的包装是否有意义?

例如,URI 是一个简单的字符串,由多个部分组成:方案、权限、路径、查询和片段。在设计表示 URI 的类时,我可以将 URI 的各个部分公开为简单的字符串对象,或者可能通过接口(interface) IUriCompontent 公开。

public interface IUri
{
IUriComponent Scheme { get; set; }
IUriComponent Authority { get; set; }
IUriComponent Path { get; set; }
IUriComponent Query { get; set; }
IUriComponent Fragment { get; set; }
}

public interface IUriComponent
{
String Value { get; }
}

我的想法是,在从 URI 中解析出组件后,每个组件都可以放入一个不可变的、经过验证的容器中。然后可以在假设其内容代表有效的 URI 组件的情况下传递该容器,从而减轻对 future 验证的任何需求。

最佳答案

确实有道理。事实上,URI 不是字符串。 URI 是一个概念,包括方案、权限等。这些组件和 URI 本身可以表示为字符串这一事实是一种可能实现的实现细节。

如果你让你的 URI 不可变,你只需要验证一次,另外你会得到 thread safety免费。

当然,这是否可行或方便还取决于您应用的要求和用例。但我认为提供一个属性以将 URI 作为字符串返回应该就足够了。

关于c# - 为了避免将来的验证而返回一个 String 的包装器是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16868368/

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