《精通Python设计模式》学习结构型之MVC模式
这个就不需要多评论了,
哪个主流的PYTHON的WEB框架都有这些模式实现哈。
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 valueclass 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 = Falsewhile not valid_input:try:n = self.view.select_quote()n = int(n)valid_input = Trueexcept ValueError as err:self.view.error("Incorrect index '{}'".format(n))quote = self.model.get_quote(n)self.view.show(quote)def main():controller = QuoteTerminalController()while True:controller.run()if __name__ == '__main__':main()
《精通Python设计模式》学习结构型之MVC模式相关推荐
- Java设计模式之结构型:桥接模式
一.什么是桥接模式: 桥接,顾名思义,就是用来连接两个部分,使得两个部分可以互相通讯,桥接模式的作用就是为被分离的抽象部分和实现部分搭桥.在现实生活中一个物品在搭配不同的配件时会产生不同的动作和结果, ...
- Java设计模式之结构型:组合模式
前言: 我们对于上面两幅图片肯定非常熟悉,这两幅图片我们都可以看做是一个文件结构,对于这样的结构我们称之为树形结构.在数据结构中我们知道可以通过调用某个方法来遍历整个树,当我们找到某个叶子节点后,就可 ...
- Java设计模式之结构型:外观模式
一.什么是外观模式: 外观模式通过对客户端提供一个统一的接口,用于访问子系统中的一群接口.使用外观模式有以下几点好处: (1)更加易用:使得子系统更加易用,客户端不再需要了解子系统内部的实现,也不需要 ...
- Java设计模式之结构型:代理模式
前言: 我们一般在租房子时会去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做:再比如我们打官司需要请律师,因为律师在法律方面有专长,可以替我们进行操作,表达我们 ...
- 围观设计模式(16)--结构型之组合模式(Composite Pattern)
组合模式也叫合成模式,有时又叫做部分-整体模式,主要是用来描述部分与整体的关系,其定义为:将对象组合成树形结构以表示"整体与部分"的层次结构,使得用户对单个对象和组合对象的使用具有 ...
- 设计模式之结构型(4)-桥接模式(Bridge)
(一)定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化.(将一个对象多维度的变化分离) ① 桥接模式主要用意是为了实现抽象部分与实现部分脱耦,使它们各自可以独立变化. ② 在开发过程中通常会 ...
- Java设计模式之结构型:享元模式
一.什么是享元模式: 享元模式通过共享技术有效地支持细粒度.状态变化小的对象复用,当系统中存在有多个相同的对象,那么只共享一份,不必每个都去实例化一个对象,极大地减少系统中对象的数量.比如说一个文本系 ...
- Java设计模式之结构型:装饰器模式
一.什么是装饰器模式: 当需要对类的功能进行拓展时,一般可以使用继承,但如果需要拓展的功能种类很繁多,那势必会生成很多子类,增加系统的复杂性,并且使用继承实现功能拓展时,我们必须能够预见这些拓展功能, ...
- Java设计模式之结构型:适配器模式
一.什么是适配器模式: 适配器模式主要用于将一个类的接口转化成客户端希望的目标类格式,使得原本不兼容的类可以在一起工作,将目标类和适配者类解耦:同时也符合"开闭原则",可以在不修改 ...
最新文章
- 在Windows系统中安装WAMP
- 记录SpringBoot集成Shiro使用Redis作缓存遇到的一个问题(Key-Value)互换
- 操作系统 课堂练习题02【8道 经典题目】
- linux下 tar解压 gz解压 bz2等各种解压文件使用方法
- MySQL 服务器调优
- TopCoder Arena 及其插件安装(转)
- ubuntu下使用screen用不关闭
- 181011词霸扇贝有道每日一句
- Linux下安装Zookeeper环境
- 网络电话免费打 【推荐】
- 计算显卡算力测试软件,380显卡算力多少
- 7-5 计算个人所得税 (20分)
- 最全哈夫曼树哈夫曼编码讲解,兄弟你值得拥有
- 解决 npm install 时出现的.git can‘t be found (see https://git.io/Jc3F9)的问题 run `npm fund` for details问题解决
- ADB Interface有黄色感叹号
- 误删的文件不在回收站如何找回?2招任选,完成恢复
- 计算机中的组和用户名好多是干什么用的,什么是本地用户和本地组
- 用java代码实现pdf文档转word
- s1200 博图高速脉冲计数值没有变化_S7 1200/1500 高速计数测量问题-工业支持中心-西门子中国...
- 机器人用的是什么编程语言
热门文章
- 正则表达式的常用方法和属性
- [零基础学JAVA]Java SE面向对象部分-10.面向对象基础(05)
- 修改MD5加密 提高网站安全
- 深入浅出的“深拷贝与浅拷贝”
- 创建并运行HelloWorld Java项目和类
- VMware Workstation 9下基于Ubuntu 12.10服务器版本的Hadoop集群的配置
- 解决ubuntu里面的sudo: /etc/sudoers is mode 0640, should be 0440
- Cookies工作原理
- 双绞线的八根线的作用
- 【408】C函数中的ADT