この記事では画像と文章で詳しく解説していますpythonThree-tierarchitecture
3層アーキテクチャ(3層アーキテクチャ) 通常の意味で、3層アーキテクチャはビジネス全体を分割することですアプリケーション:
パフォーマンス層 (プレゼンテーション層)、ビジネス ロジック層 (ビジネス ロジック層)、データ アクセス層 (データ アクセス層)。
レベルを差別化する目的は、「高い凝集性と低い結合性」のアイデアです。
高結合性と低結合性は、ソフトウェア工学における概念であり、主にオブジェクト指向の設計であり、クラスの結合度が高いかどうかによって決まります。カップリングが低いです。 凝集度は、モジュール内の要素が互いにどの程度密接に結合されているかを示します。
いわゆる高い凝集性とは、ソフトウェア モジュールが関連性の高いコードで構成され、1 つのタスクのみを担当することを意味し、これはしばしば単一責任原則と呼ばれます。
カップリング: ソフトウェア構造内の異なるモジュール間の相互接続の程度の尺度 (カップリングはブロック間接続とも呼ばれます。これは、ソフトウェア システム構造内のモジュール間の相互接続の近さの尺度を指します。
) モジュール間 接続が近いほど、結合は強くなり、モジュールの独立性は悪くなります。モジュール間の結合のレベルは、モジュール間の
インターフェースの複雑さ、呼び出し方法、および転送される情報によって異なります)。 低結合については、大まかに次のように理解します:
完全なシステム、モジュール、モジュールは可能な限り独立して存在する必要があります。
言い換えれば、各モジュールが特定のサブ機能をできるだけ独立して完了できるようにします。
モジュール間のインターフェースは可能な限り少なく、シンプルである必要があります。
2 つのモジュール間の関係が比較的複雑な場合は、最初にさらにモジュールを分割することを検討するのが最善です。
修正や組み合わせに便利です。
以下に示す 3 層アーキテクチャ:
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 datarreerree
以上がPython 3 層アーキテクチャの詳細な図解説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。