>  기사  >  백엔드 개발  >  Python에서 MVC 디자인 패턴 사용 소개

Python에서 MVC 디자인 패턴 사용 소개

高洛峰
高洛峰원래의
2017-03-22 13:39:334845검색

1. 코드 구성(디렉터리 구조)

Python에서 MVC 디자인 패턴 사용 소개

2. MVC 개요

MVC 디자인 패턴은 MVC 프레임워크입니다.

MVC의 정식 명칭은 Model-View-Controller의 약자로, 비즈니스 로직과 데이터를 명시적으로 분리하여 코드를 정리하는 방식을 사용하는 소프트웨어 설계 모델입니다. 비즈니스 로직을 구성 요소로 모아서 비즈니스 로직을 다시 작성하지 않고도 데이터 주변의 인터페이스와 사용자 상호 작용을 개선하고 사용자 정의할 수 있습니다. MVC는 전통적인 입력, 처리 및 출력 기능을 논리적 그래픽 사용자 인터페이스 구조로 매핑하기 위해 고유하게 개발되었습니다.

3. 코드

1. 데이터

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

2. 모델 레이어
모델 레이어만 데이터에 직접 액세스할 수 있습니다

#_*_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. 장치 레이어

#_*_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):
        n = 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('不合法的索引值')

레이어 보기

#_*_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. 메인 프로그램

#_*_coding:utf-8
'''主程序'''
from mvc.controller.quoteterminalcontroller import QuoteterminalController
 
def mains():
    while True:
        controller = QuoteterminalController()
        controller.run()
 
if __name__ == '__main__':
    mains()

위 내용은 Python에서 MVC 디자인 패턴 사용 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.