一、什么是MVC开发规则
MVC开发规则,也称为MVC设计模式,是软件工程中一种常用的架构模式,用于将应用程序划分为三个主要组成部分:模型(Model)、视图(View)和控制器(Controller)。这种架构模式有助于将应用程序的逻辑、数据和用户界面分离,使代码更加清晰、可维护,并且提高了应用程序的灵活性。
1、MVC的作用
MVC开发规则制定了互联网通信开发过程中必须出现角色有哪些。
MVC开发规则制定了互联网通信开发过程中必须出现角色担负职责。
MVC开发规则制定了互联网通信开发过程中必须出现角色的出场顺序。
2、MVC开发规则的角色和职责
模型(Model):负责处理应用程序的数据和业务逻辑。它包含了应用程序的数据结构和处理这些数据的方法。模型不依赖于视图和控制器的具体实现,它只关心数据的处理。
视图(View):负责显示应用程序的用户界面。它接收来自控制器的数据,并将其展示给用户。视图不处理任何业务逻辑,它只是简单地显示数据。
控制器(Controller):负责接收用户的输入,并调用模型和视图来响应这些输入。控制器是模型和视图之间的协调者,它确保它们之间的正确交互。
3、根据MVC开发规则进行开发的一般步骤
定义模型:首先,确定应用程序的数据结构和业务逻辑,并创建相应的模型类。这些类应该包含处理数据所需的所有方法。
创建视图:然后,根据应用程序的用户界面需求,创建相应的视图。这些视图可以是HTML页面、图形用户界面或其他类型的用户界面。
实现控制器:接下来,实现控制器类,这些类将处理用户的输入,并调用模型和视图来响应这些输入。控制器应该根据用户的请求,从模型中获取数据,并将数据传递给视图进行显示。
整合组件:最后,将模型、视图和控制器整合在一起,形成一个完整的应用程序。确保控制器能够正确地调用模型和视图,并且视图能够正确地显示从模型获取的数据。
MVC开发规则的优势在于它使代码更加模块化,提高了代码的可维护性和可重用性。通过将业务逻辑、数据和用户界面分离,MVC架构使得开发人员可以更加专注于各自的职责,提高了开发效率。同时,MVC架构也使得应用程序更加灵活,可以更容易地进行修改和扩展。
在实际开发中,MVC模式的应用非常广泛,特别是在Web应用程序和桌面应用程序的开发中。通过使用MVC开发规则,可以构建出结构清晰、易于维护和可扩展的应用程序。
二、MVC业务
用户向网站发送请求,浏览器向Http服务器发送请求
示例:张三用户发送请求:要求在服务端实现将张三账户3000元钱转给李四账户。
1、业务处理方案:
判断"张三"是否是当前系统中用户
判断"李四"是否是当前系统中用户
读取"张三账户余额",判断余额是否充足
读取"李四账户余额",背账
更新"张三账户余额 - 3000"
更新"李四账户余额 + 3000"
2、业务特征:
真实业务场景中,一个业务往往包含多个分支任务。因此解决业务开发工作量往往比较巨大。
真实业务场景中,只有所有分支任务都能顺利成功解决,才可以认为当前业务处理成功。
一个业务可能在网站的多个地方重复出现,如果不做封装,增加开发难度。
三、基于MVC开发规则的简单业务实例:在线书店管理系统
1、业务描述
在线书店管理系统,允许用户浏览书籍、添加到购物车、购买书籍以及管理订单。系统需要提供用户界面来展示书籍信息、购物车内容和订单状态,同时需要处理用户的购买请求,并维护书籍库存和订单数据。
2、MVC开发规则应用
1、模型(Model)
书籍模型(BookModel): 包含书籍的属性(如ID、书名、作者、价格、库存量等)以及操作这些属性的方法(如获取书籍信息、更新库存量等)。
购物车模型(CartModel): 管理用户的购物车,包含添加书籍到购物车、移除书籍、计算总价等方法。
订单模型(OrderModel): 处理用户的订单,包括创建订单、更新订单状态(如待支付、已支付、已发货等)、存储订单历史等。
2、视图(View)
书籍列表视图(BookListView): 展示书店中所有书籍的列表,包括书名、作者、价格等信息。
书籍详情视图(BookDetailView): 展示特定书籍的详细信息,并提供添加到购物车的功能。
购物车视图(CartView): 展示用户购物车中的书籍列表,包括书籍信息和总价,并提供结账功能。
订单视图(OrderView): 展示用户的订单列表和订单详情,包括订单状态和历史记录。
3、控制器(Controller)
书籍控制器(BookController): 处理与书籍相关的请求,如获取书籍列表、获取书籍详情等,并调用相应的模型方法来获取数据,然后传递给相应的视图进行展示。
购物车控制器(CartController): 处理购物车相关的操作,如添加书籍到购物车、移除书籍、计算总价等,调用购物车模型的方法,并更新购物车视图。
订单控制器(OrderController): 处理用户的购买请求,包括创建订单、更新订单状态等,调用订单模型的方法,并展示订单视图给用户。
3、工作流程
用户通过浏览器访问在线书店的网页,首先看到的是书籍列表视图(BookListView),该视图由书籍控制器(BookController)从书籍模型(BookModel)获取书籍数据并渲染。
用户可以点击书籍列表中的某本书籍,进入书籍详情视图(BookDetailView),这个视图也是由书籍控制器从书籍模型获取书籍的详细信息并渲染的。
在书籍详情视图中,用户可以点击“添加到购物车”按钮,将书籍添加到购物车。这个操作会触发购物车控制器(CartController),它调用购物车模型(CartModel)的相应方法,更新用户的购物车,并刷新购物车视图(CartView)。
用户可以在购物车视图中查看购物车的内容,并进行结账操作。结账操作会触发订单控制器(OrderController),它创建订单,调用订单模型(OrderModel)存储订单信息,并更新订单状态。同时,订单视图(OrderView)会展示给用户查看订单的详情和状态。
这个简单的业务实例展示了MVC开发规则在实际项目中的应用。通过清晰地将业务逻辑、数据和用户界面分离,MVC架构使得代码更加模块化、易于维护,并提高了系统的可扩展性。
四、互联网通信开发过程中必须出现角色有哪些
1、互联网开发过程,必须出现角色
C:controller----object--------控制层对象--------(Servlet 对象)
M:model--------object--------业务模型对象-----(Service 对象)
V:view-----------object--------视图层对象--------(jsp or HttpServletResponse)
2、互联网通信开发过程中必须出现角色担负职责
C (Servlet对象):
【可以】调用【请求对象】读取【请求包】参数信息
【必须】调用【Service对象】处理业务
【必须】调用【视图层对象】将结果写入到响应体
M (Service对象):
处理业务中所有分支任务
根据分支任务执行情况判断业务是否处理成功
必须通过return将处理结果返回给【控制层对象】
V (jsp/HttpServletResponse)
禁止参与业务处理
唯一任务将处理结果写入到响应体
3、互联网通信开发过程中必须出现角色的出场顺序
发送请求时请求调用顺序:
浏览器(tomcat)------>Servlet------>Service------>Dao
响应顺序:
分支任务结果(Dao)------> Service------>Servlet------>View------>响应体------>浏览器(tomcat)