当前位置:  开发笔记 > 程序员 > 正文

.NET API中的字符串或URI?

如何解决《.NETAPI中的字符串或URI?》经验,为你挑选了1个好方法。

我正在为Netflix API编写.NET包装器API.

此时,我可以选择将URL表示为字符串或URI对象.在我看来两者都有一个很好的例子.

因此,如果您使用的是API,您更喜欢哪种?



1> Nescio..:

以下引用来自:Framework Design Guildelines
强烈推荐这本书给任何在.Net上开发框架的人

使用 System.Uri来表示URI/URL数据.
(对于参数,属性和返回值)

System.Uri是一种更安全,更丰富的URI表示方式.使用普通字符串对URI相关数据的广泛操作已被证明会导致许多安全性和正确性问题.

考虑使用System.Uri参数为大多数常用成员提供基于字符串的重载.

如果从用户获取字符串的使用模式足够普遍,则应考虑添加接受字符串的便捷重载.基于字符串的重载应该基于基于Uri的重载来实现.

不要使用接受字符串的版本自动重载所有基于Uri的成员.

通常,基于Uri的API是优选的.基于字符串的重载是最常见场景的助手.因此,您不应自动为基于Uri的成员的所有变体提供基于字符串的重载.有选择性,并为最常用的变体提供这样的帮助.

编辑(评论):该书特别指出:"使用普通字符串对URI相关数据的广泛操作已被证明会导致许多安全性和正确性问题." 我不确定使用System.Uri/UriBuilder需要什么额外的理由.另外,为什么你不想利用框架来读取/操作URI?

在设计将由其他人使用的API时,重要的是使它们平易近人且可靠.出于这个原因,本书确实提到过,你应该为常用功能提供"漂亮"的重载.但是,为了确保正确性,您应该始终使用URI实现底层代码.

你能否澄清一下你的需求,或仅仅使用字符串的原因?

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有