比方說,我們有以下類別:C#輔助模式VS服務方法
public class Ticket {
public int Id { get; set; }
public string Event { get; set; }
...
}
public class TicketService {
public void acceptTicket(Ticket ticket) {
...
}
...
}
我的問題是,哪裏還有增加有關靜態輔助方法(需要類似等服務類無狀態)最好的地方門票實體? (請記住,這是整個系統中許多其他實體/服務中的一個實體/服務)。
現在我想的下列可能性:
- 中創建一個自己的cs文件名爲TicketHelper新類。
- 直接在票務類創建一個靜態輔助類
- 直接在服務類中創建一個靜態輔助類
- 只需直接添加方法到服務類的任何其他服務的方法
- ...一比這更好的解決方案?
爲了清楚起見,這裏是我的意思是#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);
這張票已經是2歲。現在你走哪條路? –
我嘗試使用外部幫助器方法,以便測試更容易。 –