Jadual Kandungan
三层架构——3-tier architecture
1、什么是三层架构
2、应用场景——为什么要用三层架构?
3、三层作用
4、各个层之间的关系:
5、三层联系——引用
应用原则:
6、各层是如何调用的
7、三层PK二层
二层架构:
三层架构:
三层的好处:
Rumah pangkalan data tutorial mysql 简析三层架构

简析三层架构

Jun 07, 2016 pm 04:06 PM
Seni bina

三层架构3-tier architecture 通过几个问题,来初步的学习一下三层架构。 1、什么是三层架构 2、应用场景为什么要用三层架构? 3、三层作用 4、各个层之间的关系 5、三层联系引用 6、各层是如何调用的 7、三层和二层的对比 这几个都是学习三层中最基本的问题

三层架构——3-tier architecture

通过几个问题,来初步的学习一下三层架构。
1、什么是三层架构 2、应用场景——为什么要用三层架构? 3、三层作用 4、各个层之间的关系 5、三层联系——引用 6、各层是如何调用的 7、三层和二层的对比 这几个都是学习三层中最基本的问题,只有把这些问题搞清楚,才算是打开了三层的门。

1、什么是三层架构

在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。三层从下至上分别为:数据访问层(DAL)、业务逻辑层(BLL)、表示层(UI)。

\

 

表现层(UI):展现给用户的界面,即用户在使用一个系统的时候他的所见所得。

业务逻辑层(BLL):对数据层的操作,对数据业务逻辑处理。

数据访问层(DAL):对数据库的操作,数据的增添、删除、修改、查找等。

2、应用场景——为什么要用三层架构?

为什么要用三层架构?

解耦!

不是所有的程序都需要使用三层架构,没必要把简单的问题复杂化。

先来说一下解耦,举例:修电脑

电脑硬盘坏了?我们要做的就是换掉电脑硬盘

内存条坏了?只要换内存条就好

这些部件出现问题,都不会影响别的部件的正常使用,这个就是让他们之间解耦。而和电脑不同的收音机,任何部件坏了,都会影响别的部件,这个体现的就是他们之间的耦合比较高。从这个例子里面就可以看出解耦的好处,在三层中就是用的解耦的思想。

3、三层作用

数据访问层:从数据源加载(Select),写入(Insert/Update),删除(Delete)数据。仅限于和数据源打交道,让程序简单明了。

显示层(UI):向用户展现特定业务数据,采集用户的输入信息和操作。

原则:用户至上,兼顾简洁。

业务逻辑层(BLL):从DAL中获取数据,以供UI显示用,从UI中获取用户指令和数据,执行业务逻辑、从UI中获取用户指令和数据,通过DAL写入数据源。

4、各个层之间的关系:

UI->BLL->UI:UI提供数据指令到业务逻辑,若自己可以搞定,则直接反馈到UI

UI->BLL->DAL->BLL->DAL:UI提供用户指令和数据,提出请求并搜集一定的数据BLL,BLL处理不了时,要访问数据源,则转给DAL

\

5、三层联系——引用

以登陆为例子,说明三层之间的引用关系:

实体层(entity):定义的用户名和密码。

U层:向对应的文本框中输入账号和密码

B层:判断U层输入的账号和密码是否存在。

D层:连接数据库的语句,查询数据库。

他们之间的联系是通过实体传递来进行的,。

DAL所在程序集不引用BLL和UI

BLL需要引用DAL

UI直接引用DAL,可能引用BLL

非常忌讳互相引用,为了避免这个问题所有出现了实体层(业务数据模型,里面的数据和数据库的有所差异)

应用原则:

DAL只提供基本的数据访问,不包含任何业务相关的逻辑处理。UI只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理,BLL负责处理业务逻辑,通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理。处理完成后,返回必要数据给UI。

6、各层是如何调用的

表示层(UI)是用户需要的界面,用户有什么需求都是在这个上面进行的改动,一旦有改动,首先U层向B层发送用户请求的说明,到达B层,B层再将U层的用户请求发送到D层,D层接受到用户请求的指令后,对它进行处理,发送数据反馈到B层,B层再发给U层,将这一变化反应出来。

举例:

小菜和大鸟吃羊肉串的例子,小菜和大鸟就是用户,服务员为表示层(U层),烤肉师父为业务逻辑层(U层引用B层的方法或者参数),老板娘为数据访问层(D层),负责给烤肉师父从库房拿烤串。大鸟点了羊肉串5串(参数),服务员把羊肉串5串(参数传递)传递给烤肉师父(数据请求),烤肉师父再传递给老板娘(对参数进行处理),老板娘得到请求后,拿羊肉串给烤肉师父(数据反馈),烤肉师父将烤好的羊肉串给服务员(数据反馈),服务员再将5串羊肉串给大鸟(U层展现出来),他们之间通过调用来实现联系。

7、三层PK二层

二层架构:

业务逻辑简单,没有真正的数据存储层

三层架构:

抽象出业务逻辑层,当业务复杂到一定程度,当数据存储到相应的存储介质,数据存储脱离开业务逻辑,把业务逻辑脱离开UI单独存在,UI只需要呼叫业务访问层,就可以实现跟用户的交互。

三层的好处:

1、开发人员可以只关注整个结构中的其中某一层;

2、可以很容易的用新的实现来替换原有层次的实现;

3、可以降低层与层之间的依赖;

4、有利于标准化;

5、利于各层逻辑的复用。

6、结构更加的明确

7、在后期维护的时候,极大地降低了维护成本和维护时间。

这几点的中心思想就是“高内聚,低耦合”,类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及。

以上是对三层的简单认识,有的地方可能写的不对,欢迎指出!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Analisis perbandingan seni bina pembelajaran mendalam Analisis perbandingan seni bina pembelajaran mendalam May 17, 2023 pm 04:34 PM

Konsep pembelajaran mendalam berasal daripada penyelidikan rangkaian saraf tiruan Perceptron berbilang lapisan yang mengandungi berbilang lapisan tersembunyi ialah struktur pembelajaran mendalam. Pembelajaran mendalam menggabungkan ciri peringkat rendah untuk membentuk perwakilan peringkat tinggi yang lebih abstrak untuk mewakili kategori atau ciri data. Ia dapat menemui perwakilan ciri teragih bagi data. Pembelajaran mendalam ialah sejenis pembelajaran mesin, dan pembelajaran mesin ialah satu-satunya cara untuk mencapai kecerdasan buatan. Jadi, apakah perbezaan antara pelbagai seni bina sistem pembelajaran mendalam? 1. Rangkaian Bersambung Sepenuhnya (FCN) Rangkaian bersambung sepenuhnya (FCN) terdiri daripada satu siri lapisan bersambung sepenuhnya, dengan setiap neuron dalam setiap lapisan disambungkan kepada setiap neuron dalam lapisan lain. Kelebihan utamanya ialah ia adalah "struktur agnostik", iaitu tiada andaian khas tentang input diperlukan. Walaupun agnostik struktur ini membuat lengkap

'Kesilapan' ini sebenarnya bukan satu kesilapan: mulakan dengan empat kertas klasik untuk memahami apa yang 'salah' dengan gambar rajah seni bina Transformer 'Kesilapan' ini sebenarnya bukan satu kesilapan: mulakan dengan empat kertas klasik untuk memahami apa yang 'salah' dengan gambar rajah seni bina Transformer Jun 14, 2023 pm 01:43 PM

Beberapa ketika dahulu, tweet yang menunjukkan ketidakkonsistenan antara gambar rajah seni bina Transformer dan kod dalam kertas kerja pasukan Google Brain "AttentionIsAllYouNeed" mencetuskan banyak perbincangan. Sesetengah orang berpendapat bahawa penemuan Sebastian adalah kesilapan yang tidak disengajakan, tetapi ia juga mengejutkan. Lagipun, memandangkan populariti kertas Transformer, ketidakkonsistenan ini sepatutnya disebut seribu kali. Sebastian Raschka berkata sebagai tindak balas kepada komen netizen bahawa kod "paling asli" sememangnya konsisten dengan gambar rajah seni bina, tetapi versi kod yang diserahkan pada 2017 telah diubah suai, tetapi gambar rajah seni bina tidak dikemas kini pada masa yang sama. Ini juga punca perbincangan "tidak konsisten".

Berbilang laluan, berbilang domain, merangkumi semua! Google AI mengeluarkan model am pembelajaran berbilang domain MDL Berbilang laluan, berbilang domain, merangkumi semua! Google AI mengeluarkan model am pembelajaran berbilang domain MDL May 28, 2023 pm 02:12 PM

Model pembelajaran mendalam untuk tugas penglihatan (seperti klasifikasi imej) biasanya dilatih hujung ke hujung dengan data daripada domain visual tunggal (seperti imej semula jadi atau imej yang dijana komputer). Secara amnya, aplikasi yang menyelesaikan tugas penglihatan untuk berbilang domain perlu membina berbilang model untuk setiap domain yang berasingan dan melatihnya secara berasingan Data tidak dikongsi antara domain yang berbeza, setiap model akan mengendalikan data input tertentu. Walaupun ia berorientasikan kepada bidang yang berbeza, beberapa ciri lapisan awal antara model ini adalah serupa, jadi latihan bersama model ini adalah lebih cekap. Ini mengurangkan kependaman dan penggunaan kuasa, dan mengurangkan kos memori untuk menyimpan setiap parameter model Pendekatan ini dipanggil pembelajaran berbilang domain (MDL). Selain itu, model MDL juga boleh mengatasi prestasi tunggal

Apakah seni bina dan prinsip kerja Spring Data JPA? Apakah seni bina dan prinsip kerja Spring Data JPA? Apr 17, 2024 pm 02:48 PM

SpringDataJPA adalah berdasarkan seni bina JPA dan berinteraksi dengan pangkalan data melalui pemetaan, ORM dan pengurusan transaksi. Repositorinya menyediakan operasi CRUD, dan pertanyaan terbitan memudahkan akses pangkalan data. Selain itu, ia menggunakan pemuatan malas untuk hanya mendapatkan semula data apabila perlu, sekali gus meningkatkan prestasi.

Sepuluh elemen seni bina sistem pembelajaran mesin Sepuluh elemen seni bina sistem pembelajaran mesin Apr 13, 2023 pm 11:37 PM

Ini ialah era pemerkasaan AI, dan pembelajaran mesin ialah cara teknikal yang penting untuk mencapai AI. Jadi, adakah terdapat seni bina sistem pembelajaran mesin universal? Dalam skop kognitif pengaturcara berpengalaman, Apa-apa sahaja bukanlah apa-apa, terutamanya untuk seni bina sistem. Walau bagaimanapun, adalah mungkin untuk membina seni bina sistem pembelajaran mesin berskala dan boleh dipercayai jika terpakai pada kebanyakan sistem didorong pembelajaran mesin atau kes penggunaan. Daripada perspektif kitaran hayat pembelajaran mesin, seni bina universal yang dipanggil ini merangkumi peringkat pembelajaran mesin utama, daripada membangunkan model pembelajaran mesin, untuk menggunakan sistem latihan dan sistem perkhidmatan kepada persekitaran pengeluaran. Kita boleh cuba menerangkan seni bina sistem pembelajaran mesin sedemikian daripada dimensi 10 elemen. 1.

1.3ms mengambil masa 1.3ms! Seni bina rangkaian neural mudah alih sumber terbuka terbaru Tsinghua RepViT 1.3ms mengambil masa 1.3ms! Seni bina rangkaian neural mudah alih sumber terbuka terbaru Tsinghua RepViT Mar 11, 2024 pm 12:07 PM

Alamat kertas: https://arxiv.org/abs/2307.09283 Alamat kod: https://github.com/THU-MIG/RepViTRepViT berprestasi baik dalam seni bina ViT mudah alih dan menunjukkan kelebihan yang ketara. Seterusnya, kami meneroka sumbangan kajian ini. Disebutkan dalam artikel bahawa ViT ringan biasanya berprestasi lebih baik daripada CNN ringan pada tugas visual, terutamanya disebabkan oleh modul perhatian diri berbilang kepala (MSHA) mereka yang membolehkan model mempelajari perwakilan global. Walau bagaimanapun, perbezaan seni bina antara ViT ringan dan CNN ringan belum dikaji sepenuhnya. Dalam kajian ini, penulis menyepadukan ViT ringan ke dalam yang berkesan

Reka bentuk seni bina perisian dan metodologi penyahgandingan perisian dan perkakasan dalam SOA Reka bentuk seni bina perisian dan metodologi penyahgandingan perisian dan perkakasan dalam SOA Apr 08, 2023 pm 11:21 PM

Untuk seni bina elektronik dan elektrik berpusat generasi seterusnya, penggunaan unit pengkomputeran pusat zon + pusat dan susun atur pengawal serantau telah menjadi pilihan yang mesti ada untuk pelbagai pemain OEM atau tier1 Mengenai seni bina unit pengkomputeran pusat, terdapat tiga cara: SOC pemisahan, pengasingan perkakasan, virtualisasi perisian. Unit pengkomputeran pusat berpusat akan menyepadukan fungsi perniagaan teras tiga domain utama pemanduan autonomi, kokpit pintar dan kawalan kenderaan Pengawal serantau yang diseragamkan mempunyai tiga tanggungjawab utama: pengagihan kuasa, perkhidmatan data dan pintu masuk wilayah. Oleh itu, unit pengkomputeran pusat akan menyepadukan suis Ethernet throughput tinggi. Apabila tahap integrasi keseluruhan kenderaan semakin tinggi, semakin banyak fungsi ECU akan diserap secara perlahan ke dalam pengawal serantau. Dan platformisasi

Seberapa curam keluk pembelajaran seni bina rangka kerja golang? Seberapa curam keluk pembelajaran seni bina rangka kerja golang? Jun 05, 2024 pm 06:59 PM

Keluk pembelajaran seni bina rangka kerja Go bergantung pada kebiasaan dengan bahasa Go dan pembangunan bahagian belakang serta kerumitan rangka kerja yang dipilih: pemahaman yang baik tentang asas bahasa Go. Ia membantu untuk mempunyai pengalaman pembangunan bahagian belakang. Rangka kerja yang berbeza dalam kerumitan membawa kepada perbezaan dalam keluk pembelajaran.

See all articles