python mvc设计模式(一)

简介:

一、代码组织(目录结构)

wKioL1jKLZ3AIUejAAApgrcn4h0212.png-wh_50


二、mvc概述

MVC设计模式即MVC框架。

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑和数据显式分离的方法组织代码,将业务逻辑被聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。


三、代码

1、数据

1
2
3
4
5
6
7
8
9
#coding:utf-8
 
'''模拟数据,当然,这是一个元组。也可以是任意的数据库,只要你喜欢'''
 
Quotes  =  ( '过放荡不羁的生活,容易得像顺水推舟,但是要结识良朋益友,却难如登天。 —— 巴尔扎克' ,
           '我读的书愈多,就愈亲近世界,愈明了生活的意义,愈觉得生活的重要。 —— 高尔基' ,
           '人生并不像火车要通过每个站似的经过每一个生活阶段。人生总是直向前行走,从不留下什么。 —— 刘易斯' ,
           '要永远觉得祖国的土地是稳固地在你脚下,要与集体一起生活,要记住,是集体教育了你。那一天你若和集体脱离,那便是末路的开始。 —— 奥斯特洛夫斯基' ,
           '在学校和生活中,工作的最重要的动力是工作中的乐趣,是工作获得结果时的乐趣以及对这个结果的社会价值的认识。 —— 爱因斯坦' )

2、模型层
只有模型层才能够直接访问数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#_*_coding:utf-8
from  mvc.database.quote  import  Quotes  #导入数据
 
 
class  QuotesModel( object ):
     '''模型层'''
     def  get_quote( self ,index):
         '''根据索引读取数据
         @parameter index 索引值
         '''
         try :
             valve  =  Quotes[index]
         except  IndexError as err:
             valve  =  'Not Found!'
         return  valve

3、控制器层

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#_*_coding:utf-8
from  mvc.model.quote_model  import  QuotesModel
from  mvc.view.quoteterminalview  import  QuoteTerminalView
 
class  QuoteterminalController( object ):
     '''控制器层'''
     def  __init__( self ):
         self .model  =  QuotesModel()
         self .view  =  QuoteTerminalView()
 
     def  run( self ):
         =  self .view.select_quote()
         try :
             index  =  int (n)
             quote  =  self .model.get_quote(index)
             self .view.show(quote)
         except  ValueError as err:
             self .view.error( '不合法的索引值' )

4、视图层

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#_*_coding:utf-8
 
class  QuoteTerminalView( object ):
     '''视图层'''
     def  show( self , quote):
         '''显示查询结果
         @parameter quote 接收数据'''
         print ( '您查询到的名人名言是:%s'  %  (quote))
 
     def  error( self , msg):
         '''打印错误消息
         @msg msg 接收错误消息'''
         print ( "error: %s"  %  (msg))
 
     def  select_quote( self ):
         '''读取用户的选择'''
         return  raw_input ( "请输入编号进行查询:" )

5、主程序

1
2
3
4
5
6
7
8
9
10
11
#_*_coding:utf-8
'''主程序'''
from  mvc.controller.quoteterminalcontroller  import  QuoteterminalController
 
def  mains():
     while  True :
         controller  =  QuoteterminalController()
         controller.run()
 
if  __name__  = =  '__main__' :
     mains()




本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/1907210



相关文章
|
4月前
|
设计模式 存储 前端开发
MVVM、MVC、MVP三种常见软件架构设计模式的区别
MVC、MVP 和 MVVM 是三种常见的软件架构设计模式,主要通过分离关注点的方式来组织代码结构,优化开发效率。
107 12
|
3天前
|
设计模式 开发者 Python
Python编程中的设计模式:从入门到精通####
【10月更文挑战第14天】 本文旨在为Python开发者提供一个关于设计模式的全面指南,通过深入浅出的方式解析常见的设计模式,帮助读者在实际项目中灵活运用这些模式以提升代码质量和可维护性。文章首先概述了设计模式的基本概念和重要性,接着逐一介绍了几种常用的设计模式,并通过具体的Python代码示例展示了它们的实际应用。无论您是Python初学者还是经验丰富的开发者,都能从本文中获得有价值的见解和实用的技巧。 ####
|
3月前
|
设计模式 前端开发 数据库
深入理解MVC设计模式:构建高效Web应用程序的基石
【7月更文挑战第4天】在软件工程领域,设计模式是解决常见问题的一系列经过验证的方法。其中,Model-View-Controller(MVC)设计模式自诞生以来,便成为了构建用户界面,特别是Web应用程序的黄金标准。MVC通过将应用程序逻辑分离为三个核心组件,提高了代码的可维护性、可扩展性和重用性。本文将深入探讨MVC设计模式的原理,并通过一个简单的代码示例展示其应用。
112 0
|
2天前
|
设计模式 存储 数据库连接
Python编程中的设计模式之美:单例模式的妙用与实现###
本文将深入浅出地探讨Python编程中的一种重要设计模式——单例模式。通过生动的比喻、清晰的逻辑和实用的代码示例,让读者轻松理解单例模式的核心概念、应用场景及如何在Python中高效实现。无论是初学者还是有经验的开发者,都能从中获得启发,提升对设计模式的理解和应用能力。 ###
|
1月前
|
设计模式
python24种设计模式
python24种设计模式
|
2月前
|
设计模式 XML 数据格式
python之工厂设计模式
python之工厂设计模式
python之工厂设计模式
|
2月前
|
设计模式 存储 前端开发
MVC革命:如何用一个设计模式重塑你的应用架构,让代码重构变得戏剧性地简单!
【8月更文挑战第22天】自定义MVC(Model-View-Controller)设计模式将应用分为模型、视图和控制器三个核心组件,实现关注点分离,提升代码可维护性和扩展性。模型管理数据和业务逻辑,视图负责数据显示与用户交互,控制器处理用户输入并协调模型与视图。通过示例代码展示了基本的MVC框架实现,可根据需求扩展定制。MVC模式灵活性强,支持单元测试与多人协作,但需注意避免控制器过度复杂化。
36 1
|
2月前
|
设计模式 存储 数据库连接
Python设计模式:巧用元类创建单例模式!
Python设计模式:巧用元类创建单例模式!
42 0
|
3月前
|
设计模式 机器学习/深度学习 测试技术
设计模式转型:从传统同步到Python协程异步编程的实践与思考
【7月更文挑战第15天】探索从同步到Python协程异步编程的转变,异步处理I/O密集型任务提升效率。async/await关键词定义异步函数,asyncio库管理事件循环。面对挑战,如思维转变、错误处理和调试,可通过逐步迁移、学习资源、编写测试和使用辅助库来适应。通过实践和学习,开发者能有效优化性能和响应速度。
48 3
|
4月前
|
设计模式 存储 算法
Python中的设计模式与最佳实践
【6月更文挑战第12天】```markdown 设计模式是软件开发中的标准解决方案,提升代码复用、可维护性。本文讨论了Python中的设计模式应用,如单例、工厂、观察者、策略、装饰器、原型、建造者、命令、状态、中介者和适配器模式。每个模式都有相应的Python示例,展示如何在实际编程中应用。适配器模式转换接口,外观模式简化复杂系统,两者都增强了代码的兼容性和易用性。设计模式是软件设计的重要工具,帮助解决常见问题,降低耦合度,提高系统灵活性。
105 4
Python中的设计模式与最佳实践