假设我们有以下类:
public class Ticket {
public int Id { get; set; }
public string Event { get; set; }
...
}
public class TicketService {
public void acceptTicket(Ticket ticket) {
...
}
...
}
我的问题是,添加与票证实体相关的静态辅助方法(不需要像服务类那样的状态)的最佳位置在哪里?(请记住,这是整个系统中许多其他实体/服务中的一个实体/服务)。
现在我在考虑以下几种可能性:
- 在自己的 .cs 文件中创建一个名为 TicketHelper 的新类。
- 直接在 Ticket 类上创建静态 Helper 类
- 直接在Service类上创建静态Helper类
- 只需将方法直接添加到服务类中,就像任何其他服务方法一样
- ...比这些更好的解决方案?
为了清楚起见,这就是我对#2 或#3 的意思。
public class TicketService {
public void acceptTicket(Ticket ticket) {
...
}
...
public static class Helper {
public static Dictionary<string, List<Ticket>> groupByName(List<Ticket> tickets) {
// returns the map of name/tickets
}
}
}
在这种情况下,API 可能如下所示:
Ticket ticket = new Ticket();
List<Ticket> tickets = new List<Tickets>();
TicketService service = new TicketService();
service.acceptTicket(ticket);
// leaving out the creation of a list of tickets...
var groups = TicketService.Helper.groupByName(tickets);