我试图理解MVC模式在JS应用程序中的使用情况,以便处理多个模型。例如,我有一个包含用户信息、他的订单和订单执行者的页面。我需要显示一些用户信息,并作出命令和执行者编辑。因此,我有3个模型,需要控制器和每个视图。此外,命令和执行者也列在名单上。模型中连续使用的所有列表必须从服务器加载。我应该使用什么方法来管理一个页面中的多个MVC实体?也许是另一种设计模式等等。
更新
澄清
但是,如果我需要制作一个单独的页面,我只与命令或执行者一起工作。这是合乎逻辑的,这些应该是单独的实体,以便它们可以用于各种任务。我认为,在这种情况下,也许有必要从“小”模型中组装一个“大”模型来解决特定的问题,或者为模型之间的交互建立某种接口。我在说什么呢?例如,当我从服务器加载订单时,我还加载了一些有关执行器的信息,即在SQL数据库中,这是由两个表的某个联接完成的。哪种型号需要装载?很明显是命令。那么,如何初始化执行者模型数据呢?好的,我正在做一个大模型,在这个模型中,我需要关于我的应用程序中所有实体的所有数据。好的,执行程序编辑的页面(模态,随便什么)。不需要订单数据或客户(用户)数据。为此,我使用相同的模型,其中一些与它们相关的数据和函数将不被使用。(有些事我没有坚持:)
发布于 2020-12-16 06:06:24
只是更正一下,MVC是一个建筑模式,而不是一个设计模式。然而,这两条线之间的差别很小,所以在讨论过程中很容易出现错误的交换。
不管怎么说,MVC应该是构建代码的好方法:
- authentication [Feature1]
- pages
- signin_page.htm
- authentication.css
- signup_page.htm
- models
- user_info.js
- signin_info.js
- auth_controller.js
- orders [Feature2]
- pages
- models
- order_info.js
- payment_info.js
- order_controller.js
- Feature3
- Feature4
- shared [all common things]
- services
- http_service.js
- models
- error_info.js基本上,您可以为每个特性或功能创建一个文件夹,然后在需要的基础上创建文件夹,即页/视图和模型,然后为每个特性创建一个或多个控制器,以及一个单独的通用服务来执行http调用,该服务应该以参数和url作为输入,并应处理所有错误处理。
https://stackoverflow.com/questions/65317342
复制相似问题