0

In my database I have a tables:

Products{ProductId, CategoryId, Name} // parent table
Procesors{ProductId...} // 1 to 1
HardDisks{ProductId...} // 1 to 1
MotherBoards{ProductId...} // 1 to 1
Categories{CategoryId, Name, ParentId}

And products can be procesor, hard disk, mother board etc.
Option 1: Create controllers

ProcesorControllers
HardDiskController
MotherBoardController

etc.
Option 2:

CategoryController
ProductController

where ProductController have a method

public ActionResult Index(int categoryId, string category)
{... // return View(products);

In aplication scenario I need CRUD, Filter products

4

2 回答 2

1

CRUD 和过滤器是与任何产品类别无关的通用操作。您的应用程序可能会扩展,以便在一段时间后添加新产品。

考虑到这一点,我会说选项 1不会扩展。想象一下每次添加新产品时都会更改代码。

选项 2是我会尝试倾向于的。它还将帮助您编写不重复的代码,更少的代码。

于 2013-03-09T01:47:14.967 回答
1

简单地说,控制器应该充当给定上下文的容器,因此在 ProductController 中对产品进行分组似乎是合乎逻辑的。

不过这是个人喜好。您需要考虑的是大型控制器的可维护性,以及访问这些端点时要生成的 url。

于 2013-03-09T01:51:00.040 回答