C# - 基本类设计问题

标签 c# http smtp

我正在写一个应用程序,

该应用程序的主要目的是能够使用一个人的 Gmail 帐户快速发送电子邮件(不阅读电子邮件,只是发送)。

我有一个“GmailAccount”类,它使用用户的用户名和密码在其构造函数中创建一个 SmtpClient 对象。它还有一个“发送”方法,该方法采用将由我的 UI 构建并传递过来的 MailMessage。

我遇到的问题是,我还想轮询 Gmail 的联系人列表,以便在用户输入电子邮件地址时我可以“自动填充”。

我应该把这门课分开,还是我也应该这样做:

1) 下载客户联系人列表到磁盘

2) 在我的 to/cc/bcc 字段上有一个击键方法,对于每个键入的字符,轮询 GmailAccount.FindContact() 方法以查看是否有匹配?

3) 如果匹配,则传递完整地址。

感谢您的帮助!

最佳答案

一切都是关于什么适合,以及您的(整个)应用程序如何工作。

就个人而言,我会将联系人放在 GmailAccount 下,因为联系人是 Gmail 帐户的一部分。你可能不同意,但你这样做是完全正确的,因为类设计是主观的。

我见过很多类设计,它们有一个属性和一个类,然后在其中有另一个类 + 一个字段。该程序的作者可能会觉得这样做很好,但我个人不同意他的类设计。事实是,我们都是对的。

关于C# - 基本类设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6804634/

相关文章:

c# - HTML 在 outlook 2007 电子邮件中显示不正确?

c# - 即使 IncludeSubdirectories 设置为 false,FileSystemWatcher 也会获取子目录事件

java - 从 Java 发送电子邮件时 SMTP 服务器挂起时的帮助

c# - 使用 c#/ASP.NET 以编程方式伪造网站登录

authentication - 信箱不可用。服务器响应是 : Authentication Required

c# - 如何将自定义 header 添加到 System.Net.Mail SMTP 类?

c# - 为什么这个扩展方法没有初始化返回的对象?

c# - 常量与只读

javascript - http.ClientRequest 套接字不发出数据事件

iphone - http GET 限制(iPhone)