模型 - 视图 - 控制器模式
MVC 不仅仅是一种实现用户界面的软件模式,同时也是一种易于修改和维护的架构。通常 MVC 模式将应用程序分为 3 个基本部分:模型(Model)、视图(View)和控制器(Controller)。这 3 个部分相互关联,有助于将信息的处理与信息的呈现分开。
MVC 模式的工作机制为:模型提供数据和业务逻辑(如何存储和查询信息),视图负责数据的展示(如何呈现),而控制器则是两者之间的粘合剂,根据用户要求的呈现方式协调模型和视图。视图和控制器依赖于模型,但模型是可以独立工作的。
UML
模型:定义针对数据的所有操作(如创建、修改和删除等),并提供与数据使用有关的方法
视图:提供相应的方法,帮助根据上下文和应用程序的需要构建 Web 或 GUI 界面
控制器:从请求接收数据,并将其发送到系统的其他部分。需要提供用于路由请求的方法
MVC 模式的主要意图:
将数据和数据的展示隔离开
使类的维护和实现更加简单
灵活地改变数据的存储和显示方式,两者相互独立
模型是应用程序的基石,提供客户端请求的数据,必须在多个操作中保持一致。
视图用来将数据展示在接口上供用户查看。可以独立开发,但不应包含复杂的逻辑;需要足够灵活,适应多种平台;应避免与数据库直接交互。
控制器应该作为模型和视图之间的粘合剂,要尽可能薄;不应该进行数据库调用或参与数据的展示。
示例代码
class Model:
services = {
'email': {'number': 1000, 'price': 2},
'sms': {'number': 1000, 'price': 10},
'voice': {'number': 1000, 'price': 15}
}
class View:
def list_services(self, services):