Closed. This question is opinion-based。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
                        
                        3年前关闭。
                                                                                            
                
        
有一个Task类,它具有其方法和属性。它是我项目中的一个实体。任务就像日常任务一样,其日期,标题,正文(实际任务)和状态已完成/未完成,以及上述属性的设置方法和获取方法。

可以添加一个新任务,也可以删除一个任务。根据其属性过滤任务,对任务进行排序等。这些操作与Task类型的元素列表有关。问题:任务列表及其相关方法是否应该有单独的类?如果是这样,Task类和TaskList类之间的关系应该是什么?您可以推荐任何设计模式或特定方法?

最佳答案

如果您的任务列表仅执行常规列表,那么恕我直言,您可以创建一个List<Task>

如果要对列表进行特殊处理,例如将所有任务标记为已完成,则可以将List<Task>封装在名为TaskList的类中。像这样:

public class TaskList : List<Task> {
    // extra methods and stuff
}


您问任务和任务列表之间应该是什么关系。好了,您可以使用继承,就像上面这样。另外,您可以在这样的类中存储List<Task>的私有实例:

public class TaskList : IEnumerable {
    private List<Task> innerList;
}


但是随后您必须实现更多的方法,例如AddRemoveGetEnumerator等。我有点懒,所以我会坚持第一种方法。

09-13 13:48