MVC模式:python案例

quotes = (‘A man is not complete until he is married. Then he is finished.‘,
          ‘As I said before, I never repeat myself.‘,
          ‘Behind a successful man is an exhausted woman.‘,
          ‘Black holes really suck...‘, ‘Facts are stubborn things.‘)

class QuoteModel:

    def get_quote(self, n):
        try:
            value = quotes[n]
        except IndexError as err:
            value = ‘Not found!‘
        return value

class QuoteTerminalView:

    def show(self, quote):
        print(‘And the quote is: "{}"‘.format(quote))

    def error(self, msg):
        print(‘Error: {}‘.format(msg))

    def select_quote(self):
        return input(‘Which quote number would you like to see?‘)

class QuoteTerminalController:

    def __init__(self):
        self.model = QuoteModel()
        self.view = QuoteTerminalView()

    def run(self):
        valid_input = False
        while not valid_input:
            n = self.view.select_quote()
            try:
                n = int(n)
            except ValueError as err:
                self.view.error("Incorrect index ‘{}‘".format(n))
            else:
                valid_input = True
        quote = self.model.get_quote(n)
        self.view.show(quote)

def main():
    controller = QuoteTerminalController()
    while True:
        controller.run()

if __name__ == ‘__main__‘:
    main()

  

原文地址:https://www.cnblogs.com/andy9468/p/8414516.html

时间: 2024-10-05 03:09:34

MVC模式:python案例的相关文章

实际案例讲解iOS设计模式——MVC模式

MVC模式是iOS编程中提到的最多次的设计模式,也是使用最频繁的设计模式之一.网络上有很多的MVC模式的分析文章,但都是从原理上来解释,很少能找到配套的案例来说明到底在实际的项目中要如何的使用这种模式.小编在经过详细的研究.对比和实验了之后,总结了一下这个模式的一些简单使用方法,希望能起一个抛砖引玉的作用,使得对MVC默认的同学能依葫芦画瓢的了解MVC模式的使用方法,并以此类推出更多.更好的方法出来. 这篇文章先从老生常谈的MVC设计模式的原理说起,然后配上一个简单的案例,以演示如何将一个常规的

java web笔记——软件三层结构&MVC模式实现注册登陆案例

<学习笔记> Servlet+JSP+JavaBean(MVC)模式适合开发较复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javaBean负责封装数据,各个模块之间层次清晰. 软件三层结构为Web层.业务逻辑层(service层).数据访问层(dao层). 简易的注册登陆案例 项目完整源码地址:https://git.oschina.net/beyondzl/register_login 1.搭建开发环境 1.1导人第三方开发包 dom4j-1.6.1.

【案例分享】使用ActiveReports报表工具,在.NET MVC模式下动态创建报表

提起报表,大家会觉得即熟悉又陌生,好像常常在工作中使用,又似乎无法准确描述报表.今天我们来一起了解一下什么是报表,报表的结构.构成元素,以及为什么需要报表. 什么是报表 简单的说:报表就是通过表格.图表等形式来动态显示数据,并为使用者提供浏览.打印.导出和分析的功能,可以用公式表示为: 报表 = 多样的布局 + 动态的数据 + 丰富的输出 报表通常包含以下组成部分: 报表首页:在报表的开始处,用来显示报表的标题.图形或说明性文字,每份报表只有一个报表首页. 页眉:用来显示报表中的字段名或对记录的

MVP模式入门案例

随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责.为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MVP(Model-View-Presenter)模式应运而生. 四个要素: (1)View:负责绘制UI元素.与用户进行交互(在Android中体现为Activity); (2)View interface:需要View实现的接口,View通过View interface与Pr

Android之MVC模式的使用

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑. Model 层处理数据,业务逻辑等: View 层处理界面的显示结果: Controller层起到桥梁的作用,来控制V层和M层通信以此来达到分离视图显示和业务逻辑层. 案例: public class

1.Angular框架-angular介绍与基本使用,MVC模式介绍

1.1. AngularJS概述 1.1.1. 介绍 简称:ng Angular是一个MVC框架 AngularJS 诞生于2009年,由 Misko Hevery 等人创建,后为Google所收购. 是一款优秀的前端JS框架,已经被用于Google的多款产品当中. AngularJS有着诸多特性,最为核心的是: MVC.模块化(编程).自动化双向数据绑定.语义化标签.指令.依赖注入等等. 其他前端框架: VueJS . Avalon . React . BackBone . KnockoutJ

[转载]WIKI MVC模式

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller). MVC模式最早由Trygve Reenskaug在1978年提出[1] ,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式.MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能.除此之外,此

Extjs MVC模式开发,循序渐进,Helloworld

MVC模式案例(一) 即将实现网页的布局有三部分组成:顶部标题.左侧菜单和右侧主题内容显示.这里我们对案例的布局有个初步印象,方便今后我们的进一步学习. 了解了项目的最终效果,下面来看一下该案例最终的文件结构: 文件结构可以看出,在整个项目中,app文件夹是我们的主要工作目录,其中包含:controller(控制器).model(数据模型).store(数据集).view(视图).另外还有server文件夹,其主要目的是代替后台服务器为项目提供数据.这些内容我们将在今后的文章中逐步讲解,今天我们

MVC模式-----struts2框架(2)

MVC模式-----struts2框架 第一个struts2程序 struts2框架是通过一个过滤器将struts2集成到Web应用程序中的,这个过滤器的对象是StrutsprepareAndExecuteFilter.struts2框架通过过滤器对象,获取web应用中的Http请求,并将http请求转发到的指定Action进行处理,Action根据处理结果返回给用户相应的页面. 创建一个简单的struts项目,需要创建于用户进行交互并获取输入信息的jsp页面:呈现最终信息的页面:创建一个用于业

Spring MVC -- MVC模式

对于简单的Java Web项目,我们的项目仅仅包含几个jsp页面,由于项目比较小,我们通常可以通过链接方式进行jsp页面间的跳转. 但是如果是一个中型或者大型的项目,上面那种方式就会带来许多维护困难,代码复用率低等问题.因此,我们推荐使用MVC模式. 一 MVC概念 1.什么是MVC MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范.它是用一种业务逻辑.数据与界面显示分离的方法来组织代码,将