python mvc设计模式(一)

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

《python mvc设计模式(一)》

二、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

    原文作者:python设计模式
    原文地址: https://yq.aliyun.com/articles/506253
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞