美文网首页
python设计模式_MVC模式

python设计模式_MVC模式

作者: 金鱼座 | 来源:发表于2019-11-15 15:25 被阅读0次

任何一门语言, 各种基础规范是学习的前提,但是在后期的深入学习时,我觉得了解他们的设计模式和思想反而比了解他们所谓的高级操作更加符合语言学习的流程,他直接决定了我们后期再编程实现时的一种逻辑思想,就好比是一个习惯。

MVC模式对于一个开发技术人员来说,应该是耳听能详了, 之前开发项目基本上都是这种M_V_C的开发模式, 这种方式对于网站系统的开发,具有很高的可操作性,并且对于数据流和业务流都非常的容易,当然这都是我个人的感觉

那么MVC表示的是什么呢? 我从网上copy了一下


MVC

截图中实际上也简单说明了MVC的意思,大家了解就好,

今天主要是希望通过python的方式,来给大家展示一下什么是MVC,抛开公开的框架,对于python的开发,MVC也是可以应用这套理论

首先MVC,主要分为Model层, View层,Controller层

对于Model层,主要是就是实现与数据库的一些交互行为,比如初始化字段,获取数据库表记录等

class Person(object):
    def __init__(self, first_name, last_name):
        self.first_name = first_name
        self.last_name = last_name

    def name(self):
        return ("{} {}".format(self.first_name, self.last_name))

    @classmethod
    def getAll(cls):
        database = open('db.txt','r')
        result = []
        json_list = eval(database.read())
        for item in json_list:
            person = Person(item['first_name'], item['last_name'])
            result.append(person)
        return result

看代码可知道,该model下主要声明一个Person类,有第一名称和第二名称两个属性,并且有个实例方法name或者获得实例名称, 此外有个类方法实现对数据库的记录操作

对于View层,主要是对于页面输出的一些行为控制,比如输出html等

from model import Person
def showAllView(list):
   print 'In our db we have %i users. Here they are:' % len(list)
   for item in list:
      print item.name()
def startView():
   print 'MVC - the simplest example'
   print 'Do you want to see everyone in my db?[y/n]'
def endView():
   print 'Goodbye!'

看例子,可以看出,View层,没有和数据库相关的有任何的操作行为,主要是展示

对于Controller层, 就是一个关键点,按照我自己粗浅的理解,就是页面的数据展示和数据库的相关数据,都是通过这个逻辑控制层进行管理的,

def showAll():
    peo_in_db = Person.getAll()
    return showAllView(peo_in_db)

def start():
    startView()
    input1 = input()
    if input1 == 'Y':
        return showAll()
    else:
        return endView()

if __name__ == "__main__":
    start()

分析上述代码可以知道, 通过showAll方法,将M和V两个数据进行关联,通过start方法,得到逻辑输入Y才进行展示的逻辑控制

总结:
MVC(MVT)实际上是做了前后端的数据的分离, 让Model主要负责数据库相关的交互, V主要负责前台的展示输出, 而C则负责将M中的数据可以放到V上面去展示。

相关文章

  • 游戏开发中的MVVM设计模式

    mvc设计模式 说到mvvm设计模式不得不先说说mvc设计模式。mvc其实不是一个模式,而是几个模式结合使用的结果...

  • python设计模式_MVC模式

    任何一门语言, 各种基础规范是学习的前提,但是在后期的深入学习时,我觉得了解他们的设计模式和思想反而比了解他们所谓...

  • Python 设计模式——MVC模式

    模型 - 视图 - 控制器模式 MVC 不仅仅是一种实现用户界面的软件模式,同时也是一种易于修改和维护的架构。通常...

  • 浅析 MVC

    一、 MVC 设计模式 1. 设计模式 设计模式,是通用代码(组织方式)的一种统称 2. MVC 是什么 MVC ...

  • iOS开发之MVVM+RAC架构模式

    在说MVVM之前,首先要了解我们最常用的MVC设计模式⬇️ 1.MVC设计模式 苹果官方将MVC设计模式作为iOS...

  • JavaWeb入门——MVC

    1.MVC设计模式 1.1MVC模式 1.2MVC模式示例 index.jsp WelcomeServlet.ja...

  • 面试题总结(二)

    常用的设计模式:MVC、工厂、代理、KVO MVC设计模式 MVC是一种架构模式,M表示数据模型Model,V表示...

  • 浅析 MVC

    一、MVC是什么? MVC是一种设计模式(那设计模式又是什么呢?简单粗暴的说好用的东西就是设计模式),MVC能够使...

  • 对angularJS一些概念的理解

    angularJS是以MVC为设计模式的JS框架 MVC(Model View Controller)设计模式(d...

  • iOS 设计模式 一

    设计模式随记 系统架构模式 1. MVC - MVVM - MVP - MVVM、MVC协调版 MVC :...

网友评论

      本文标题:python设计模式_MVC模式

      本文链接:https://www.haomeiwen.com/subject/pccsictx.html