標籤: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 三層架構說明