0

我有一个带有表的 SQL Server 数据库。

最重要的是,我为每个使用 LINQ 并具有添加、删除、获取、更新功能的表设置了一个类。

最重要的是,我希望有更多特定于项目的方法。

例如,我的最高级别功能之一是将任务分配给员工。

我的想法是拥有另一组具有此功能的类,例如,初始 Task 类具有:

    public static IEnumerable<Task> GetAll(Schedule schedule)
    {
        KezberPMDBDataContext db = new KezberPMDBDataContext();
        return from p in db.Tasks
               where p.ScheduleID == schedule.ScheduleID
               select p;
    }

例如,要分配任务,我需要 GetUnscheduledTasks。我本可以有:

    public static IEnumerable<Task> GetUnscheduled()
    {
       return Data.Tasks.GetAll(emptySchedule);
    }

我基本上是想拥有:低级与中级交换数据,以及顶级与中级交换数据。

我应该如何组织或重构我的代码以保持它的干净和模块化?

谢谢

4

1 回答 1

1

所以你有类似...

SQL > ORM 层 > 业务层。BL有例程的地方:

“给员工分配任务”

如果我们结束您的帖子“试图让 [...] 低级别与中级...和顶级...交换数据...”。我建议你看看 MVC 模式。控制器充当模型和视图之间的中间层。

“另一组具有此功能的类”。我假设您的意思是另一组帮助控制器的类。我倾向于将这些类称为“辅助类”,直到我有足够的关系来定义一个不太抽象的名称。除了我的一般 MVC/MVVM/etc 模式之外,我倾向于包含上述抽象。

于 2013-01-17T14:37:55.843 回答