【问题标题】:Naming Convention for ServiceStack DTO'sServiceStack DTO 的命名约定
【发布时间】:2014-02-20 14:08:46
【问题描述】:

我知道这已经在某种程度上被问到了 - 这是一个相当主观的问题。我正在尝试为我们从 WCF 移植到 ServiceStack 的一组服务找出最佳命名约定。我已经阅读了很多 ServiceStack 文档和示例——我觉得我对整体结构有了很好的理解。我正在努力解决的是我的请求和响应 DTO 的最佳命名约定。

让我举几个例子。这将是我的请求 dto,因为我目前已将其命名。

[Route("/blast/emailblast", "POST")]
public class CreateEmailBlast : IReturn<CreateCreateEmailBlastResponse>  
{
    public Guid SenderProfileId { get; set; }
    public Guid TemplateId { get; set; }
    public string CallListName { get; set; }
    public string CallListCategory { get; set; }    
}

public class CreateEmailBlastResponse : ICreateEmailBlastResponse
{
    public string ResponseMessage { get; set; }
}

所以我采用的命名是在 dto 前面加上“创建”用于帖子,“获取”用于获取等......使用 EmailBlast 和 EmailBlastResponse 会更明智吗?只是想知道是否有人对这两种不同的命名方法有意见。

【问题讨论】:

    标签: servicestack


    【解决方案1】:

    我认为只使用 EmailBlast 会更明智。因为,http 动词是用来识别将要发生的事情。

    如果您正在研究如何设计好的 API。 (通用,不是专门针对 SS)。 infoq 上有一段精彩的视频。我一时想不起来这个名字。

    但该演示的要点是,尝试将 API 视为面向用户的 html 页面。你在用户端需要什么。我可以多做一点,在决定页面后定义模型。为此,需要元数据。

    意思是,有一个EmailBlast 模型,我怎么知道要创建。因此,我将使用 http post 动词,而不是 CreateEmailBlast 模型。在这里,我试图举一个简单的例子。

    我个人会尽量避免变量和模型的匈牙利符号。

    如果我对您的问题理解正确,以及您是否需要我提供更多详细信息,请告诉我。

    【讨论】:

    • 是的,这就是我要去的方向。刚刚在 ServiceStack Wiki 上看到了一些使用喜欢的前缀的示例代码。
    • @MikeSchwartz 这只是特殊情况/或演示目的。在大多数情况下,它将用于演示目的。我个人不喜欢使用前缀或后缀
    猜你喜欢
    • 1970-01-01
    • 2010-11-07
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    相关资源
    最近更新 更多