c#自定义控件资源释放问题
在Fielding的论文中 ,资源描述为:
“可以命名的任何信息”……“文档或图像,临时服务(例如,“洛杉矶今天的天气”),其他资源的集合,非虚拟对象(例如,人) 等等。 换句话说,任何可能成为作者超文本 引用 目标的概念都 必须符合资源的定义。 资源是 到一组实体 的概念性映射 ,而不是在任何特定 时间 点对应于该映射的实体 。”
定义资源既是科学也是艺术 。 它需要领域知识和API体系结构技能。 下面详细介绍的以下几点用作清单,可以帮助您确定资源。
资源必须包含业务描述
- 商业描述应为简单散文中的3-4个句子,以说明资源是什么。
- 对您的系统有一定了解的开发人员应该能够理解该描述
- 对资源的任何警告均应明确
资源应单独使用
这类似于定义微服务边界的准则,在这种情况下,应将微服务视为自身有用。 同样,资源应单独使用。
例如,代替:
/street-address/{id} RESPONSE {
"street1" : "String" ,
"street2" : "String" }
和
/address-extra/{id} RESPONSE {
"city" : "String" ,
"country" : "String" }
它应该是:
/address/{id} RESPONSE {
"street1" : "String" ,
"street2" : "String" ,
"city" : "String" ,
"country" : "String" }
如果资源本身没有用,并且总是需要后续请求,则这意味着代码将不可避免地变得更加复杂,并且第二个请求将对性能产生影响
使用适当的名词
首选使用简单名词而非复合名词。 例如,
地址优于AddressInfo或AddressDetail 。 这是一条总规则,总会有例外 。
如果使用多个资源表示同一数据的不同视图,例如: Address和AddressD