gpt4 book ai didi

c# - 在面向服务的体系结构中为服务调用定义方法签名的最佳实践是什么?

转载 作者:太空狗 更新时间:2023-10-30 00:43:12 26 4
gpt4 key购买 nike

在面向服务的架构中开发应用程序时定义服务调用原型(prototype)/签名的最佳实践是什么。

例如,我想创建服务调用来发送电子邮件。

假设我的域层中有以下对象

 [datacontract]
public class Email
{
public string To { get; set; }
public string From { get; set; }
public string Message { get; set; }
public string Subject { get; set; }

//I am not going to use this properties in send email method
public string OtherProp1 {get; set;}
public string OtherProp2 {get; set;}
public string OtherProp3 {get; set;}

}

我应该像这样创建服务方法签名吗

   public bool SendEmail(string from,string to, string subject,string message){//My Logic}}

或者

   public bool SendEmail(Email myEmail){//My Logic}

我倾向于第一个选项。(话虽如此,我知道对象是否比传递整个对象本身更有意义。)

最佳答案

不幸的是,在这种情况下,第二个选项不太清楚,这是因为您的 Email class

假设我要调用您的方法。你让我传递 Email 类的一个实例。我去类契约(Contract)并找到 7 个属性。

而且,我怎么知道哪些参数是必需的,哪些是可选的?从文档?如果我必须查阅文档以正确使用 API,这不是最干净的设计。

我宁愿重构您的电子邮件类,将其命名为 EmailRequest,并删除所有这些可选参数,然后我会创建另一个类 EmailResponse,如果您需要使用它作为服务的返回值。

关于c# - 在面向服务的体系结构中为服务调用定义方法签名的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11975453/

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