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