GetAll方法应该在哪个类中?

时间:2013-05-26 07:08:08

标签: oop naming

假设我有一个方法GetAllEmails(),它可以检索数据库中的所有电子邮件。问题是我应该将该方法放在哪个类中?

许多消息来源,甚至是教科书,都认为它应该在课程Email中,但从逻辑上讲,电子邮件不应该知道如何获取所有电子邮件,我认为它应该放在电子邮件管理器或助手类中在这样的背景下。有什么意见吗?

2 个答案:

答案 0 :(得分:3)

Repository设计模式通常用于此,所以在你的情况下,它是电子邮件库(或类似的)类获取电子邮件。

答案 1 :(得分:0)

方法GetAllEmails()必须连接到数据库并获取一些数据。所以我会把它放在一个与数据库相关的类中。这实际上取决于您正在编写什么类型的应用程序,例如,如果您有其他方法连接到数据库并获取其他一些数据,您可以将它们全部放在一个类中。但是,如果您只连接到数据库以获取电子邮件,那么您可以在电子邮件类中拥有数据库子类。