三層架構,四層模型


Web框架本質

眾所周知,對於所有的Web應用,本質上其實就是一個socket服務端,用戶的瀏覽器其實就是一個socket客戶端,早期沒有框架這個概念,各個層級的分級不夠分明,各層級之間的耦合度較高,造成了一些代碼重用性不高,層次混亂等情況,為了解決上述情況在web框架中的發展史中出現了幾類優秀的框架,其中MVC和MTV就是其中具有代表性的優秀框架,下面我就從一個小白的角度分析下這些框架。

#!/usr/bin/env python
#coding:utf-8
   
import socket
   
def handle_request(client):
    buf = client.recv(1024)
    client.send("HTTP/1.1 200 OK\r\n\r\n")
    client.send("Hello, Seven")
   
def main():
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.bind(('localhost',8000))
    sock.listen(5)
   
    while True:
        connection, address = sock.accept()
        handle_request(connection)
        connection.close()
   
if __name__ == '__main__':
    main()
socket

MVC框架

概念:

MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。MVC被獨特的發展起來用於映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。

簡介:

MVC開始是存在於桌面程序中的,M是指業務模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式。比如一批統計數據可以分別用柱狀圖餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。

認識:

作為一種經典到不能再經典的架構模式,MVC的成功有其必然的道理,這個道理不同的人會有不同的解讀,筆者最認同的一種觀點是:通過把職責、性質相近的成分歸結在一起,不相近的進行隔離,MVC將系統分解為模型、視圖、控制器三部分,每一部分都相對獨立,職責單一,在實現過程中可以專注於自身的核心邏輯。MVC是對系統復雜性的一種合理的梳理與切分,它的思想實質就是“關注點分離”。

 MVC是眾所周知的模式,即:將應用程序分解成三個組成部分:model(模型),view(視圖),和 controller(控制 器)。其中:
             M 管理應用程序的狀態(通常存儲到數據庫中),並約束改變狀態的行為(或者叫做“業務規則”)。
             C 接受外部用戶的操作,根據操作訪問模型獲取數據,並調用“視圖”顯示這些數據。控制器是將“模型”和“視圖”隔離,並成為二者之間的聯系紐帶。
             V 負責把數據格式化后呈現給用戶。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM