一直都想尝试三层架构。但是迟迟都没有做,潜意识总感觉自己实力不够。三层架构那么高端的东西,就我这样的小菜比能弄的来的?
这次终于鼓起勇气,慢慢弄,最多就是多花点时间查百度嘛,对不对?
首先给自己补一下三层架构:
何为三层?三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(Presentation layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。
我是这样理解的:表现层差不多就是我们所看到的界面=事件
逻辑层差不多就是我们实现事件的途径=方法
数据访问层就是数据库的增删查改=sql语句
我就来尝试一下做一套酒店管理系统吧。
第一步:
作为一套高大上的酒店管理系统。那么这个不是谁想看,就能看,就能操作的。咱得弄一个登陆页面。外部人员?呵呵,先验证了再说!
登陆页面的界面扣好了。剩下的便是操作页面;
关于表现层,我也是大胆。做了一个UI
想通过扩展去调用不同的交互页面。
以下便是UI的主要代码:
1 /// <summary> 2 /// 菜?????展? 3 /// 4 /// </summary> 5 /// <param name="sender"></param> 6 /// <param name="e"></param> 7 private void pictureBox1_Click(object sender, EventArgs e) 8 { 9 if (pictureBox1.Location.X < 0)10 {11 this.pictureBox1.Location = new System.Drawing.Point(210, 48);12 this.tabControl1.Location = new System.Drawing.Point(221, 48);13 this.tabControl1.Size -= new Size(209, 0);14 this.treeView1.Visible = true;15 //this.pictureBox1.AccessibleDescription = "??菜?";16 }17 else18 {19 this.pictureBox1.Location = new System.Drawing.Point(-10, 48);20 this.tabControl1.Location = new System.Drawing.Point(12, 48);21 this.tabControl1.Size += new Size(209,0); 22 this.treeView1.Visible = false;23 }24 }
1 /// <summary> 2 /// 工具?-?算器 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void ?算器ToolStripMenuItem_Click(object sender, EventArgs e) 7 { 8 Thread t0 = new Thread(BlackCatHotelManagerBLL.HotelManager.calc); 9 t0.Start();10 }11 //private System.Object lockThis = new System.Object();12 13 14 /// <summary>15 /// 工具?-?事本16 /// </summary>17 /// <param name="sender"></param>18 /// <param name="e"></param>19 private void ?事本ToolStripMenuItem_Click(object sender, EventArgs e)20 {21 Thread t1 = new Thread(BlackCatHotelManagerBLL.HotelManager.notepad);22 t1.Start();23 }
待续。。。

公眾號網頁更新緩存,這玩意兒,說簡單也簡單,說複雜也夠你喝一壺的。你辛辛苦苦更新了公眾號文章,結果用戶打開還是老版本,這滋味,誰受得了?這篇文章,咱就來扒一扒這背後的彎彎繞繞,以及如何優雅地解決這個問題。讀完之後,你就能輕鬆應對各種緩存難題,讓你的用戶始終體驗到最新鮮的內容。先說點基礎的。網頁緩存,說白了就是瀏覽器或者服務器為了提高訪問速度,把一些靜態資源(比如圖片、CSS、JS)或者頁面內容存儲起來。下次訪問時,直接從緩存裡取,不用再重新下載,速度自然快。但這玩意兒,也是個雙刃劍。新版本上線,

本文討論了使用HTML5表單驗證屬性,例如必需的,圖案,最小,最大和長度限制,以直接在瀏覽器中驗證用戶輸入。

本文展示了使用CSS為網頁中添加有效的PNG邊框。 它認為,與JavaScript或庫相比,CSS提供了出色的性能,詳細介紹瞭如何調整邊界寬度,樣式和顏色以獲得微妙或突出的效果

本文討論了html&lt; datalist&gt;元素,通過提供自動完整建議,改善用戶體驗並減少錯誤來增強表格。Character計數:159

本文解釋了HTML5&lt; time&gt;語義日期/時間表示的元素。 它強調了DateTime屬性對機器可讀性(ISO 8601格式)的重要性,並在人類可讀文本旁邊,增強Accessibilit

本文討論了HTML&lt; Progress&gt;元素,其目的,樣式和與&lt; meter&gt;元素。主要重點是使用&lt; progress&gt;為了完成任務和LT;儀表&gt;對於stati

本文討論了HTML&lt; meter&gt;元素,用於在一個範圍內顯示標量或分數值及其在Web開發中的常見應用。它區分了&lt; meter&gt;從&lt; progress&gt;和前


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

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

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

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版