圖解詳解python三層架構

高洛峰
發布: 2017-03-12 10:44:48
原創
4083 人瀏覽過

這篇文章圖文詳解python三層架構 

三層架構(3-tier architecture) 通常意義上的三層架構就是將整個業務應用分成:
表現層(Presentation layer)、業務邏輯層(Business Logic Layer)、資料存取層(Data access layer)。


區分層次的目的即為了"高內聚低耦合"的思想。
高內聚低耦合,是軟體工程中的概念,是判斷設計好壞的標準,主要是物件導向的設計,主要是看類別的內聚性是否高,耦合度是否低。
內聚就是一個模組內各個元素彼此結合的緊密程度,高內聚就是一個模組內各個元素彼此結合的緊密程度高。


所謂高內聚是指一個軟體模組是由相關性很強的程式碼組成,只負責一項任務,也就是常說的單一責任原則。
耦合:一個軟體結構內不同模組之間互連程度的度量(耦合性也叫塊間聯繫。指軟體系統結構中各模組間相互聯繫緊密程度的一種度量。
模組之間聯繫越緊密,其耦合性就越強,模組的獨立性則越差,模組間耦合的高低取決於模組間介面的複雜性,呼叫的方式以及傳遞的訊息。的使其獨立存在。
也就是說,讓每個模組,盡可能的獨立完成某個特定的子功能。
模組與模組之間的接口,盡量的少而簡單。
如果某兩個模組間的關係比較複雜的話,最好先考慮進一步的模組劃分。
這樣有利於修改和組合。
三層架構,如下圖:

 
1、表現層(UI):通俗講就是展現給使用者的介面,也就是使用者在使用一個系統的時候他的所見所得。 这篇文章图文详解python三层架构 2、業務邏輯層(BLL):針對特定問題的操作,也可以說是對資料層的操作,對資料業務邏輯處理。
3、資料存取層(DAL):此層所做事務直接操作資料庫,針對資料的增添、

刪除

、修改、查找等。

 

範例:

#coding:utf8

from utility.sql_helper import MySqlHelper

class Admin(object):
    def init(self):
        self.helper = MySqlHelper()
        
    def Get_One(self,id):
        sql = "select * from userinfo where id = %s"
        params = (id,)
        return self.helper.Get_One(sql, params)
    
    def CheckValidate(self,username,password):
        sql = "select * from userinfo where name=%s and password=%s"
        params = (username,password,)
        return self.helper.Get_One(sql, params)
登入後複製
#coding:utf8
import MySQLdb
import conf


class MySqlHelper(object):
    def init(self):
        self.conn_dict = conf.conn_dict
    def Get_Dict(self,sql,params):
        conn = MySQLdb.connect(**self.conn_dict)
        cur = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor) 
        
        reCount = cur.execute(sql,params)
        data = cur.fetchall()   

        cur.close()
        conn.close()
        return data
       
    def Get_One(self,sql,params):
        conn = MySQLdb.connect(**self.conn_dict)
        cur = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor) 
        
        reCount = cur.execute(sql,params)
        data = cur.fetchone()  

        cur.close()
        conn.close()
        return data
登入後複製
#coding:utf8

conn_dict = dict(
    host='127.0.0.1',
    user='root',
    passwd='123456',
    db ='Admin'
    )
登入後複製
#coding:utf8

from module.admin import Admin

def main():
    user=raw_input('username:')
    pwd=raw_input("password:")
    admin = Admin()
    result = admin.CheckValidate(user, pwd)
    if not result:
        print '用户名或密码错误'
    else:
        print '进入后台登录界面'

if name== 'main':
    main()
登入後複製

以上是圖解詳解python三層架構的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板