【问题标题】:Naming conventions with web service / WCF and no overload [closed]使用 Web 服务/WCF 的命名约定并且没有重载[关闭]
【发布时间】:2009-03-30 20:04:47
【问题描述】:

目前的任务是在 c# 中设计一个 Web 服务(我要去 wcf,但原则仍然适用)。问题是没有我知道的方法重载,所以我需要用不同的名称命名 web 方法。

我真的很想就命名约定提供一些意见,但似乎没有任何东西存在 - 例如。

我的主要方法是 GetMortgages() - 返回所有抵押贷款。 我需要另一个它会在一定的价格范围内归还抵押贷款所以你会推荐这个 GetMorgagesPriceRange、InPriceRange、WithPriceRange。

我对命名网络方法的最佳实践有点困惑,我很想重载 GetMortgages,但当然对于网络服务我不能...

那么做GetNounDescription会更好吗??

任何人都知道那里有任何好的 web 服务,它们有一个相同的方法,但每个方法都有不同的参数传递 - 真的很想知道这里的任何事情

如果它是返回某些东西的东西,是否可以练习使用 GET 启动我的 web 方法??

存东西和送东西的东西呢,这里有标准吗??即 PUT 或 SAVE ???

一定有某种规则书要遵循??

真的很想得到一些意见是任何人都有任何意见

谢谢 标记

【问题讨论】:

  • 我想我真正要问的是,如果我需要提供 5 种方法,我需要传递不同的参数,但都返回相同的格式化数据,但根据传递的参数不同,那么最好的方法是什么解决这个问题?
  • 我建议使用 GetAllMortgages() 和 GetMortgagesByPriceRange() 来描述您从服务中返回的内容并给出预期传递参数的建议。

标签: c# wcf web-services naming-conventions


【解决方案1】:

确实没有任何命名约定的“规则手册”。你会找到适合你的。

.Net 最常见的采用是遵循 Microsoft .Net 命名约定,而对于 Web 服务,只需将它们视为程序集的扩展,而不是特殊情况。

http://msdn.microsoft.com/en-us/library/ms229045.aspx

所以,GetMortgages()、GetMortgagesInPriceRange(startPrice,endPrice) 等...都可以。

至于“保存”,很多人会使用“提交名词”。

【讨论】:

    【解决方案2】:

    此外,您应该避免重载 Web 服务方法。使用不同的方法名称。

    【讨论】:

    • +1 说明了 Web 服务创建新手的常见陷阱
    • 这更像是一条评论,尽管它被点赞了。
    【解决方案3】:

    您还可以让 GetMortgages() 服务方法采用“文档”而不是参数,并在文档中设计可选的过滤条件。这样,您只有一种方法可以处理所有“重载”。

    <GetMortgages>
      <filter> .... </filter>
      <sort> .... </sort>
      <group> .... </group>
    </GetMortgages>
    

    【讨论】:

    • 绝对比多次重载好;它还允许您增加“文档”上的参数数量,而无需创建更多重载。
    【解决方案4】:

    我认为你做得很好。根据他们正在做什么来描述他们。 GetAllMortgages()、GetMortgagesInPriceRange() 等

    考虑任何特定领域的术语。例如,如果抵押贷款价格范围的抵押贷款行业术语是“人口统计”,那么 GetMortgagesForDemographic 将是更好的名称,即使您知道唯一的“人口统计”特征是价格范围。

    【讨论】:

      【解决方案5】:

      如果您有类似存储库的服务(正如我在您的示例中假设的那样)约定,您可以使用存储库模式

      GetXByY(params)
      

      【讨论】:

      • 如果我们有10个参数,它会像GetXByYByZByWByWByS......不是吗?对吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-09
      • 1970-01-01
      • 1970-01-01
      • 2012-03-19
      相关资源
      最近更新 更多