python 三層架構說明

來源:互聯網
上載者:User

標籤:alt   介面   尋找   商務邏輯層   help   check   127.0.0.1   code   3-tier   

python 三層架構說明

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


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


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

三層架構,如:


 

1、表現層(UI):通俗講就是展現給使用者的介面,即使用者在使用一個系統的時候他的所見所得。
2、商務邏輯層(BLL):針對具體問題的操作,也可以說是對資料層的操作,對資料商務邏輯處理。
3、資料訪問層(DAL):該層所做事務直接操作資料庫,針對資料的增添、刪除、修改、尋找等。

 

樣本:

 

 1 #coding:utf8 2  3 from utility.sql_helper import MySqlHelper 4  5 class Admin(object): 6     def __init__(self): 7         self.__helper = MySqlHelper() 8          9     def Get_One(self,id):10         sql = "select * from userinfo where id = %s"11         params = (id,)12         return self.__helper.Get_One(sql, params)13     14     def CheckValidate(self,username,password):15         sql = "select * from userinfo where name=%s and password=%s"16         params = (username,password,)17         return self.__helper.Get_One(sql, params)18     19     
admin.py
 1 #coding:utf8 2 import MySQLdb 3 import conf 4  5  6 class MySqlHelper(object): 7     def __init__(self): 8         self.__conn_dict = conf.conn_dict 9     def Get_Dict(self,sql,params):10         conn = MySQLdb.connect(**self.__conn_dict)11         cur = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor) 12         13         reCount = cur.execute(sql,params)14         data = cur.fetchall()   15 16         cur.close()17         conn.close()18         return data19        20     def Get_One(self,sql,params):21         conn = MySQLdb.connect(**self.__conn_dict)22         cur = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor) 23         24         reCount = cur.execute(sql,params)25         data = cur.fetchone()  26 27         cur.close()28         conn.close()29         return data
sql_helper

 

1 #coding:utf82 3 conn_dict = dict(4     host=‘127.0.0.1‘,5     user=‘root‘,6     passwd=‘123456‘,7     db =‘Admin‘8     )
conf.py
 1 #coding:utf8 2  3 from module.admin import Admin 4  5 def main(): 6     user=raw_input(‘username:‘) 7     pwd=raw_input("password:") 8     admin = Admin() 9     result = admin.CheckValidate(user, pwd)10     if not result:11         print ‘使用者名稱或密碼錯誤‘12     else:13         print ‘進入後台登入介面‘14 15 if __name__== ‘__main__‘:16     main()
index.py

 

python 三層架構說明

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.