三層架構(3-tier architecture) 通常意義上的三層架構就是將整個業務應用分成:
表現層(Presentation layer)、業務邏輯層(Business Logic Layer)、資料存取層(Data access layer)。
區分層次的目的即為了"高內聚低耦合"的思想。
高內聚低耦合,是軟體工程中的概念,是判斷設計好壞的標準,主要是物件導向的設計,主要是看類別的內聚性是否高,耦合度是否低。
內聚就是一個模組內各個元素彼此結合的緊密程度,高內聚就是一個模組內各個元素彼此結合的緊密程度高。
所謂高內聚是指一個軟體模組是由相關性很強的程式碼組成,只負責一項任務,也就是常說的單一責任原則。
耦合:一個軟體結構內不同模組之間互連程度的度量(耦合性也叫塊間聯繫。指軟體系統結構中各模組間相互聯繫緊密程度的一種度量。
模組之間聯繫越緊密,其耦合性就越強,模組的獨立性則越差,模組間耦合的高低取決於模組間介面的複雜性,呼叫的方式以及傳遞的訊息。的使其獨立存在。
也就是說,讓每個模組,盡可能的獨立完成某個特定的子功能。
模組與模組之間的接口,盡量的少而簡單。
如果某兩個模組間的關係比較複雜的話,最好先考慮進一步的模組劃分。
這樣有利於修改和組合。
三層架構,如下圖:
1、表現層(UI):通俗講就是展現給使用者的介面,也就是使用者在使用一個系統的時候他的所見所得。 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中文網其他相關文章!

Python列表切片的基本語法是list[start:stop:step]。 1.start是包含的第一個元素索引,2.stop是排除的第一個元素索引,3.step決定元素之間的步長。切片不僅用於提取數據,還可以修改和反轉列表。

ListSoutPerformarRaysin:1)DynamicsizicsizingandFrequentInsertions/刪除,2)儲存的二聚體和3)MemoryFeliceFiceForceforseforsparsedata,butmayhaveslightperformancecostsinclentoperations。

toConvertapythonarraytoalist,usEthelist()constructororageneratorexpression.1)intimpthearraymoduleandcreateanArray.2)USELIST(ARR)或[XFORXINARR] to ConconverTittoalist,請考慮performorefformanceandmemoryfformanceandmemoryfformienceforlargedAtasetset。

choosearraysoverlistsinpythonforbetterperformanceandmemoryfliceSpecificScenarios.1)largenumericaldatasets:arraysreducememoryusage.2)績效 - 臨界雜貨:arraysoffersoffersOffersOffersOffersPoostSfoostSforsssfortasssfortaskslikeappensearch orearch.3)testessenforcety:arraysenforce:arraysenforc

在Python中,可以使用for循環、enumerate和列表推導式遍歷列表;在Java中,可以使用傳統for循環和增強for循環遍歷數組。 1.Python列表遍歷方法包括:for循環、enumerate和列表推導式。 2.Java數組遍歷方法包括:傳統for循環和增強for循環。

本文討論了版本3.10中介紹的Python的新“匹配”語句,該語句與其他語言相同。它增強了代碼的可讀性,並為傳統的if-elif-el提供了性能優勢

Python中的功能註釋將元數據添加到函數中,以進行類型檢查,文檔和IDE支持。它們增強了代碼的可讀性,維護,並且在API開發,數據科學和圖書館創建中至關重要。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Linux新版
SublimeText3 Linux最新版

Dreamweaver CS6
視覺化網頁開發工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具