当前位置:网站首页>Take you to master the three-tier architecture (recommended Collection)
Take you to master the three-tier architecture (recommended Collection)
2022-07-07 13:53:00 【Xiao Kai, who loves fishing】
Preface
Please pay attention to the following issues when reading this article :
1. What is a three-tier architecture ?
2. Why use a three-tier architecture ?
3. What is the difference between the three layers and the two layers used in the past ? What are its advantages ?
4. How to learn three-tier architecture well ? How to apply the three-tier architecture ?
One 、 What is a three-tier architecture
The three-tier architecture is to conform to “ High cohesion , Low coupling ” thought , Divide each function module into presentation layer (UI)、 Business logic
Series layer (BLL) and Data access layer (DAL) Three layer architecture , Each layer uses interface to access each other , And through the implementation of the object model
Body class (Model) As the carrier of data transmission , The entity classes of different object models generally correspond to different tables of the database , Entity
The attribute of the class is consistent with the field name of the database table .
Function division table of each module :
UI( The presentation layer ): | It mainly refers to the interface interacting with users . It is used to receive data input by users and display data needed by users after processing . |
BLL:( Business logic layer ): | UI Layer and the DAL The bridge between layers . Implement business logic . The business logic specifically includes : verification 、 Calculation 、 Business rules and so on . |
DAL:( Data access layer ): | Dealing with databases . The main purpose is to increase data 、 Delete 、 Change 、 check . Submit the data stored in the database to the business layer , At the same time, the data processed by the business layer is saved to the database .( Of course, these operations are based on UI Layer of . The user's needs are reflected in the interface (UI),UI Reflect to BLL,BLL Reaction to DAL,DAL Data manipulation , Step back after operation , Until the user needs data feedback to the user ) |
Three tier architecture operation flow chart :
How to connect the functional modules in the three-tier architecture ?
I want to mention Entity( Physical layer ): It doesn't belong to any of the three layers , But it is an essential layer . For a lot of data , Using variables as parameters is a little complicated , Because there are too many parameters , Easy to confuse . such as : I want to pass the employee information to the lower level , The information includes : Employee number 、 full name 、 Age 、 Gender 、 Wages ....... Using variables as parameters , Then there will be many parameters in our method , Most likely when used , Confuse parameter matching . Now , If you use entities as parameters , It will be very convenient , Don't consider the problem of parameter matching , You can use which attribute in the entity directly , Very convenient . This also improves efficiency .
Entity Role in three-tier architecture :
1. Implement the in object-oriented thinking " encapsulation "; |
2. Through the third floor , Transfer data between the three layers ;( notes : To be exact, the entity layer runs through the three layers , To connect the three layers ) |
3. For beginners , It can be understood in this way : Each data table corresponds to an entity , That is, the fields in each data table correspond to the attributes in the entity ( notes : Of course , In fact, it's not . Why? ? 1>) Maybe the entity we need does not exist in the entity corresponding to the data table 2>) We can put all fields in all data tables in one entity ) |
4. Each layer (UI—>BLL—>DAL) Data transfer between ( A one-way ) Is passed by variables or entities as parameters , In this way, the connection between the three layers is constructed , Completed the implementation of the function . |
( Add :3. in Why can we temporarily understand that each data table corresponds to an entity ??
The purpose of our system , Is to provide services for users , Users don't care how your system background works , Users only care about whether the software is easy to use , Whether the interface is in line with your own mind . The user interface is easy to add 、 Delete 、 Change 、 check , Then there should be corresponding additions in the database 、 Delete 、 Change 、 check , The specific operation object of adding, deleting, modifying and querying is the data in the database , To put it bluntly, the fields in the table . therefore , Treat each data table as an entity class , The attributes encapsulated by the entity class correspond to the fields in the table , In this case , When the entity runs through three layers , You can add, delete, modify and query data )
Between the three layers and the entity layer Dependency relationship :
Two 、 Why use a three-tier architecture
The purpose of the three-tier architecture is to “ High cohesion , Low coupling ”. A clearer division of developers , Focus more on the analysis of the core business logic of the application system 、 Design and development , Speed up the project , Improved development efficiency , It is conducive to the updating and maintenance of the project .
3、 ... and 、 The difference between three floors and two floors
Two layers of :
( When any place changes , Need to redevelop the whole system ." Multi-storey " On the first floor , Unclear division of labor and high coupling —— Difficult to adapt to changes in demand , Low maintainability 、 Low scalability )
Three layers :
( At what level does the change take place , Just change the layer , There is no need to change the entire system . A clear hierarchy , A clear division of responsibilities , Low coupling between each layer —— Improved efficiency , Adapt to changing needs , High maintainability , High scalability )
The advantages of three-tier architecture :
1. The structure is clear 、 Low coupling |
2. High maintainability , High scalability |
3. It is conducive to synchronous development tasks , Easy to adapt to changing needs |
Disadvantages of three-tier architecture :
1. It reduces the performance of the system . This is self-evident . If you don't use a layered structure , Many businesses can visit the database directly , In order to obtain the corresponding data , Now it has to be done through the middle tier . |
2. Sometimes it leads to cascading changes . This change is especially reflected in the top-down direction . If you need to add a function in the presentation layer , In order to ensure that its design conforms to the layered structure , You may need to add code in the corresponding business logic layer and data access layer |
3. Increased code , Increased workload |
边栏推荐
- 高等數學---第八章多元函數微分學1
- Flink | 多流转换
- 提升树莓派性能的方法
- [dark horse morning post] Huawei refutes rumors about "military master" Chen Chunhua; Hengchi 5 has a pre-sale price of 179000 yuan; Jay Chou's new album MV has played more than 100 million in 3 hours
- 实现IP地址归属地显示功能、号码归属地查询
- Shell batch file name (excluding extension) lowercase to uppercase
- 高等数学---第八章多元函数微分学1
- Laravel form builder uses
- Talk about pseudo sharing
- 供应链供需预估-[时间序列]
猜你喜欢
Evolution of customer service hotline of dewu
Milkdown control icon
My "troublesome" subordinates after 00: not bad for money, against leaders, and resist overtime
SSRF漏洞file伪协议之[网鼎杯 2018]Fakebook1
AI人才培育新思路,这场直播有你关心的
Fast development board pinctrl and GPIO subsystem experiment for itop-imx6ull - modify the device tree file
Detr introduction
Mathématiques avancées - - chapitre 8 différenciation des fonctions multivariables 1
最佳实践 | 用腾讯云AI意愿核身为电话合规保驾护航
Enregistrement de la navigation et de la mise en service du robot ROS intérieur (expérience de sélection du rayon de dilatation)
随机推荐
Error lnk2019: unresolved external symbol
搜索框效果的实现【每日一题】
Navicat运行sql文件导入数据不全或导入失败
PostgreSQL array type, each splice
Social responsibility · value co creation, Zhongguancun network security and Information Industry Alliance dialogue, wechat entrepreneur Haitai Fangyuan, chairman Mr. Jiang Haizhou
Fast development board pinctrl and GPIO subsystem experiment for itop-imx6ull - modify the device tree file
The delivery efficiency is increased by 52 times, and the operation efficiency is increased by 10 times. See the compilation of practical cases of financial cloud native technology (with download)
Lavarel之环境配置 .env
[daily training] 648 Word replacement
Split screen bug notes
Redis只能做缓存?太out了!
MySQL error 28 and solution
Co create a collaborative ecosystem of software and hardware: the "Joint submission" of graphcore IPU and Baidu PaddlePaddle appeared in mlperf
Dry goods | summarize the linkage use of those vulnerability tools
JS function returns multiple values
C语言数组相关问题深度理解
华为镜像地址
118. 杨辉三角
ES日志报错赏析-Limit of total fields
Getting started with cinnamon applet