图文详解python三层架构

这篇文章图文详解python三层架构

三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(presentation layer)、业务逻辑层(business logic layer)、数据访问层(data access layer)。

区分层次的目的即为了”高内聚低耦合”的思想。高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。

所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。) 对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。

三层架构,如下图:

#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社区 其它相关文章!

Posted in 未分类

发表评论