Model view controller Can’;我不理解MVC的控制器部分

Model view controller Can’;我不理解MVC的控制器部分,model-view-controller,design-patterns,Model View Controller,Design Patterns,那些控制器到底是什么?我们被要求为学校项目用Java构建ATM,我们的部分设计是: 我们有存储大部分信息的帐户 我们的用户可以为自己的帐户进行操作,并存储一些次要信息。 (我们还有atm类来存储用户并进行一些顶级更改) 我们有用户界面来捕捉输入并使用控制器 我们的账户是模型,界面是视图,用户是控制器,这对吗 非常感谢您解决我的问题 此上下文中的控制器将通过接口接收用户请求,并调用服务执行任何操作,调用数据库层获取数据并填充到模型中,将模型与视图集成以创建所需视图,并将组合视图返回给用户。用户和帐

那些控制器到底是什么?我们被要求为学校项目用Java构建ATM,我们的部分设计是:

  • 我们有存储大部分信息的帐户
  • 我们的用户可以为自己的帐户进行操作,并存储一些次要信息。 (我们还有atm类来存储用户并进行一些顶级更改)
  • 我们有用户界面来捕捉输入并使用控制器
  • 我们的账户是模型,界面是视图,用户是控制器,这对吗


    非常感谢您解决我的问题

    此上下文中的控制器将通过接口接收用户请求,并调用服务执行任何操作,调用数据库层获取数据并填充到模型中,将模型与视图集成以创建所需视图,并将组合视图返回给用户。用户和帐户将是不同但相关的实体,在数据库中有其表示。

    此上下文中的控制器将通过接口接收用户请求,并调用服务执行任何操作,调用数据库层获取数据并填充到模型中,将模型与视图集成以创建所需视图,并将组合视图返回给用户。用户和帐户将是不同的但相关的实体,在数据库中有它们的表示。

    您说:“帐户是模型”。事实上,不是

    模型层(也称为模型层或模型)不是单个组件,而是由多个组件组成的层。它抽象了一个真实的过程和所需的资源。换句话说,它对业务逻辑(由数据表示,尤其是行为表示)进行建模

    模型层可以是应用程序的一部分,也可以由多个应用程序共享

    每个模型组件都有特定的角色。它可以是一个(例如域对象)、一个、一个、一个抽象、一个抽象、一个外部服务(如电子邮件或付费服务)的抽象等。抽象指的是接口或抽象类。具体的实现不应该是域模型的一部分,而应该是相对于模型的一个不同的外部空间,作为基础结构

    因此,您的
    用户
    帐户
    Atm
    类只是模型的组成部分。更确切地说,它们是实体

    另一方面,控制器和视图是UI层的组件

    控制器(应)只负责将用户请求的执行推迟(例如调度)到模型层。更准确地说,它被定义为域模型的边界层,并由其服务组件表示。因此,某个服务实例作为依赖项注入控制器。控制器将当前用户输入(数据)传递给它,并调用其中的某个方法,其中定义了所需的用户请求处理步骤。服务实例与其他模型层对象一起执行所有这些步骤,以使用用户输入更新模型。因此,考虑到调度任务,控制器方法应该是精简的,包含1-3行代码

    视图(应该)通过查询域模型本身(例如,从中提取数据)从域模型中获取(更新的)数据,并显示它。与控制器类似,视图通过某些服务组件与模型通信

    我使用动词“应该”来强调一个事实,即UI层有不同的实现模型。实现可以使用如上所述的控制器和视图——原始MVC设计。另一个实现将使用控制器不仅更新模型(通过服务),而且还查询模型(通过服务),以便将接收到的数据传递到视图以显示给用户。或者一个实现甚至不能使用任何服务,迫使处理用户请求的步骤在控制器和/或视图中定义。等等因此,如何选择实现UI层取决于您

    请注意,您也可以将控制器和/或视图命名为模型组件(
    User
    Account
    Atm
    等)。但是,您必须使用来区分所有这些,这是推荐的方法。在Java中,名称空间由包管理

    一些更详细的资源(主要是与web MVC相关的,带有PHP示例):

      • 你说:“账户就是模型”。事实上,不是

        模型层(也称为模型层或模型)不是单个组件,而是由多个组件组成的层。它抽象了一个真实的过程和所需的资源。换句话说,它对业务逻辑(由数据表示,尤其是行为表示)进行建模

        模型层可以是应用程序的一部分,也可以由多个应用程序共享

        每个模型组件都有特定的角色。它可以是一个(例如域对象)、一个、一个、一个抽象、一个抽象、一个外部服务(如电子邮件或付费服务)的抽象等。抽象指的是接口或抽象类。具体的实现不应该是域模型的一部分,而应该是相对于模型的一个不同的外部空间,作为基础结构

        因此,您的
        用户
        帐户
        Atm
        类只是模型的组成部分。更确切地说,它们是实体

        另一方面,控制器和视图是UI层的组件

        控制器(应)只负责将用户请求的执行推迟(例如调度)到模型层。更准确地说,到-这是定义为域模式的边界层