Python:设计模式之模型-视图-控制器-MVC复合模式

简介: Python:设计模式之模型-视图-控制器-MVC复合模式

复合模式:

将两个或更多个模式组合成解决常见或普遍性问题的解决方案


MVC模式工作机制

模型,提供数据和业务逻辑

视图,负责数据展示

控制器,模型和视图的粘合剂


MVC模式术语

模型:声明一个存储和操作数据的类

视图:声明一个类来构建用户界面和显示数据

控制器:声明一个连接模型和视图的类

客户端:声明一个类,更具某些操作来获得某些结果


MVC模式应用场景

1、当需要更改展示方式而不更改业务逻辑

2、多个控制器可以用于使用多个视图来更改用户界面上的展示

3、再次重申,当模型改变时,视图无需改动,因为它们是相互独立的


MVC详细介绍

1、模型-了解应用程序的情况

模型是应用程序的基石,它独立于视图和控制器,而视图和控制器则依赖于模型


2、视图-外观

视图用来将数据展示到接口上,可以独立开发,但不应该包含任何复杂的逻辑

逻辑应该放在控制器或模型中


3、控制器-胶水

控制器用来控制用户在界面上的交互

控制器不应该进行数据库调用或参与数据展示

控制器应该作为模型和视图之间的粘合剂,并且尽可能薄


MVC模式的优点

1、使用MVC,开发人员可以将软件应用程序分为3个主要部分:模型,视图,控制器

有助于提高可维护性,强制松耦合,并降低复杂度

2、MVC允许对前端视图进行独立更改,而后端逻辑无需任何修改或只需进行很少的更改

因此,开发工作仍然可以独立进行

3、类似地,可以更改模型或业务逻辑,而无需对视图进行任何更改

4、可以更改控制器,而不会对视图或者模型造成任何影响

5、MVC有助于招聘具有特定能力的人员,例如平台工程师和UI工程师,

他们可以在自己的专业领域独立工作


代码示例

# -*- coding: utf-8 -*-
class Model(object):
    def get_data(self):
        data = [
            {
                "name": "Tom",
                "age": 23
             },
            {
                "name": "Jack",
                "age": 21
            },
        ]
        return data
class View(object):
    def show_data(self, data):
        for row in data:
            print(row["name"], row["age"])
class Controller(object):
    def __init__(self):
        self.model = Model()
        self.view = View()
    def interface(self):
        data = self.model.get_data()
        self.view.show_data(data)
if __name__ == '__main__':
    controller = Controller()
    controller.interface()
"""
Tom 23
Jack 21
"""
相关文章
|
5月前
|
设计模式 存储 前端开发
MVVM、MVC、MVP三种常见软件架构设计模式的区别
MVC、MVP 和 MVVM 是三种常见的软件架构设计模式,主要通过分离关注点的方式来组织代码结构,优化开发效率。
113 12
|
3天前
|
设计模式 开发者 Python
Python编程中的设计模式:工厂方法模式###
本文深入浅出地探讨了Python编程中的一种重要设计模式——工厂方法模式。通过具体案例和代码示例,我们将了解工厂方法模式的定义、应用场景、实现步骤以及其优势与潜在缺点。无论你是Python新手还是有经验的开发者,都能从本文中获得关于如何在实际项目中有效应用工厂方法模式的启发。 ###
|
4月前
|
设计模式 前端开发 数据库
深入理解MVC设计模式:构建高效Web应用程序的基石
【7月更文挑战第4天】在软件工程领域,设计模式是解决常见问题的一系列经过验证的方法。其中,Model-View-Controller(MVC)设计模式自诞生以来,便成为了构建用户界面,特别是Web应用程序的黄金标准。MVC通过将应用程序逻辑分离为三个核心组件,提高了代码的可维护性、可扩展性和重用性。本文将深入探讨MVC设计模式的原理,并通过一个简单的代码示例展示其应用。
129 0
|
6月前
|
设计模式 存储 前端开发
MVC(模型-视图-控制器)是一种在Web应用程序开发中广泛使用的软件设计模式
【5月更文挑战第12天】MVC模式是Web应用开发中的常见设计模式,将逻辑、数据和界面分离,提升代码可维护性和重用性。模型处理数据逻辑,视图展示数据,控制器协调用户输入与模型视图交互。优点包括代码分离、易维护、可扩展和组件重用,促进高效灵活的开发。
53 2
|
3月前
|
设计模式 存储 前端开发
MVC革命:如何用一个设计模式重塑你的应用架构,让代码重构变得戏剧性地简单!
【8月更文挑战第22天】自定义MVC(Model-View-Controller)设计模式将应用分为模型、视图和控制器三个核心组件,实现关注点分离,提升代码可维护性和扩展性。模型管理数据和业务逻辑,视图负责数据显示与用户交互,控制器处理用户输入并协调模型与视图。通过示例代码展示了基本的MVC框架实现,可根据需求扩展定制。MVC模式灵活性强,支持单元测试与多人协作,但需注意避免控制器过度复杂化。
39 1
|
4月前
|
设计模式 机器学习/深度学习 测试技术
设计模式转型:从传统同步到Python协程异步编程的实践与思考
【7月更文挑战第15天】探索从同步到Python协程异步编程的转变,异步处理I/O密集型任务提升效率。async/await关键词定义异步函数,asyncio库管理事件循环。面对挑战,如思维转变、错误处理和调试,可通过逐步迁移、学习资源、编写测试和使用辅助库来适应。通过实践和学习,开发者能有效优化性能和响应速度。
51 3
|
5月前
|
设计模式 存储 算法
Python中的设计模式与最佳实践
【6月更文挑战第12天】```markdown 设计模式是软件开发中的标准解决方案,提升代码复用、可维护性。本文讨论了Python中的设计模式应用,如单例、工厂、观察者、策略、装饰器、原型、建造者、命令、状态、中介者和适配器模式。每个模式都有相应的Python示例,展示如何在实际编程中应用。适配器模式转换接口,外观模式简化复杂系统,两者都增强了代码的兼容性和易用性。设计模式是软件设计的重要工具,帮助解决常见问题,降低耦合度,提高系统灵活性。
107 4
Python中的设计模式与最佳实践
|
5月前
|
设计模式 缓存 算法
Python设计模式:23种设计模式介绍
设计模式是软件开发中经典的解决问题的方法,包含23种设计模式,它们可以分为三类:创建型模式、结构型模式和行为型模式。
86 1
|
5月前
|
设计模式 存储 前端开发
【设计模式】MVC与MVVM详尽解读与实战指南
【设计模式】MVC与MVVM详尽解读与实战指南
805 0
|
6月前
|
JSON Java 测试技术
Jmeter--控制器--详解(1),技术协会Python部面试
Jmeter--控制器--详解(1),技术协会Python部面试