代码之家  ›  专栏  ›  技术社区  ›  eppdog

ASP。NET MVC-控制器数量

  •  2
  • eppdog  · 技术社区  · 17 年前

    例如,在设计内容管理系统的管理部分时,是否应该有一个单独的控制器来配置每个查找域,如下所示:

    /DataTypeA/List --list for A
    /DataTypeA/Create -- create new data
    .
    . 
    .
    /DataTypeB/List --list for B
    

    或者,管理员控制器中是否应该有单独的操作,如下所示

    /Admin/DataTypeA -- this lists DataTypeA
    /Admin/DatatypeB -- this lists DataTypeB
    /Admin/DataTypeA_Create -- Create a new DataTypeA
    /Admin/DataTypeB_Create -- Create a new DataTypeB
    
    4 回复  |  直到 17 年前
        1
  •  3
  •   tvanfosson    17 年前

    我的方法是为系统中的主要参与者(表)创建一个新的控制器。辅助表最终由控制器开始更新与辅助数据相关联的主表。例如,我将有一个用户控制器,并有一个动作来更新与用户控制器中特定用户相关联的UserContact信息,而不是创建一个单独的UserContact控制器。

        2
  •  1
  •   Chad Moran    17 年前

    我发现赌注的方式是,一旦你到达表示层(在这种情况下是web层),你应该按照逻辑而不是技术进行分组。如果你有一个产品和类别表,你可能想制作一个目录控制器或商店控制器。这将有助于并允许您重用大量代码并保持有序。

        3
  •  0
  •   Nick DeVore    17 年前

    ASP。NET MVC非常灵活,非常酷,尽管不可否认,一开始,这种灵活性感觉就像溺水一样。只要开始写代码,你就会意识到你是否走错了路。MVC有一个学习曲线。随它去吧。

        4
  •  0
  •   alastairs    17 年前

    我认为这在很大程度上是一种设计选择。我不认为有一个明确的答案,尽管我想如果你坚持模式的字母,那么你会选择每种数据类型一个控制器的选项。

    我开始构建一个小型博客原型系统来尝试ASP。NET MVC不久前(遗憾的是,它仍然是一个WIP),我最终做出的一个设计决定是将Comment控制器包含在Post控制器中。然而,我是在尝试了单独的控制器后才决定这样做的。我认为这是有效的,因为这两个概念是如此紧密地交织在一起:没有博客文章,你就无法发表评论。