我自己写机房的时候,看非常多高人的博客,各种的借鉴,当初务必的纠结,如今整个机房敲完了,写这篇博客给大家一个总体上的、简单理解的七层,期望大家看完这篇文章之后,不会这个纠结了。

首先大家得看了我的上一篇博客:

http://blog.csdn.net/qiumuxia0921/article/details/33738319

我再说就会好说一点,大家仅仅要理解了那张包图之后就能够了。

首先我还是拿最老套、最简单、最先開始的样例Login開始:

1、我们要知道Login须要那几步:查询user表,推断用户是否存在;在worklog中加入用户日志。

2、须要的数据库设计:

这里我就不另外建表,这样大家看的更熟悉,是吧?

3、建立Entity

实体是依据表来建立的,也就是说,表中有几个字段,Entity的LoginEntity和WorklogEntity类就有几个property。

本着面面俱到的原则,我就晒晒代码,大家别嫌我麻烦:

'**************************
'文 件 名:UserLogin
'命名空间:Entity
'内 容:
'功 能:
'文件关系:
'作 者:邱慕夏
'小 组:邱慕夏
'生成日期:2014-06-07 17:27:28
'版 本 号:V1.0.0.0
'改动日志:
'版权说明:
'***************************
Public Class LoginEntity
#Region "定义变量"
Private _userID As String
Private _level As String
Private _Head As String
Private _password As String
Private _oldpassword As String
Private _userName As String
Private _computer As String #End Region
Public Shared UserHead As String '设置全局变量
Public Shared UserLevel As String
Public Property UserID() As String '将T_User_DAL表中的每个实体都传上去,实体是依据表来建的,不是功能
Get
Return _userID
End Get
Set(ByVal value As String)
_userID = value
End Set
End Property
Public Property Level() As String
Get
Return _level
End Get
Set(ByVal value As String)
_level = value
End Set
End Property
Public Property Head() As String
Get
Return _Head
End Get
Set(ByVal value As String)
_Head = value
End Set
End Property
Public Property Password() As String
Get
Return _password
End Get
Set(ByVal value As String)
_password = value
End Set
End Property
Public Property OldPassword() As String
Get
Return _oldpassword
End Get
Set(ByVal value As String)
_oldpassword = value
End Set
End Property
Public Property UserName() As String
Get
Return _userName
End Get
Set(ByVal value As String)
_userName = value
End Set
End Property
Public Property computer() As String
Get
Return _computer
End Get
Set(ByVal value As String)
_computer = value
End Set
End Property End Class

上面是LoginEntity的,以下是Worklog的:

'**************************
'文 件 名:WorkLogEntity
'命名空间:Entity
'内 容:
'功 能:
'文件关系:
'作 者:邱慕夏
'小 组:邱慕夏
'生成日期:2014/6/15 11:07:47
'版 本 号:V1.0.0.0
'改动日志:
'版权说明:
'***************************
Public Class WorkLogEntity
Private _userid As String
Private _level As String
Private _loginDateTime As String
Private _LogoutDateTime As String
Private _computer As String
Private _status As String
Public Shared Property Login_DateTime As String Public Property UserID() As String
Get
Return _userid
End Get
Set(ByVal value As String)
_userid = value
End Set
End Property
Public Property Level() As String
Get
Return _level
End Get
Set(ByVal value As String)
_level = value
End Set
End Property
Public Property LoginDateTime() As String
Get
Return _loginDateTime
End Get
Set(ByVal value As String)
_loginDateTime = value
End Set
End Property
Public Property LogoutDateTime() As String
Get
Return _LogoutDateTime
End Get
Set(ByVal value As String)
_LogoutDateTime = value
End Set
End Property
Public Property Computer() As String
Get
Return _computer
End Get
Set(ByVal value As String)
_computer = value
End Set
End Property
Public Property Status() As String
Get
Return _status
End Get
Set(ByVal value As String)
_status = value
End Set
End Property
End Class

这里我要说的是LoginEntity中的全局变量,全局变量是系统仅仅要赋给它值,他就会随程序共存亡,所以不须要操心用的时候会为nothing。

以上都是准备工作,因为篇幅,看下一篇。

vb.net版机房收费——助你学会七层架构(一)的更多相关文章

  1. vb.net版机房收费——助你学会七层架构(二)反射+抽象工厂

    上一篇咱们做好了准备工作.数据库设计和Entity层,如今介绍 4.反射+抽象工厂 反射:用来消除Switch和if的,这里我尽量简单地介绍,以便大家理解.反射其有用起来非常easy.你就觉得他就是决 ...

  2. vb.net版机房收费系统——教你七层架构(三)—外观模式

    上次我们看到了D层是如何运作的,如今.我简单演示一下我的外观和B层是如何和U层和D层打交道的. 首先我跟大家说的是我的外观是依照界面功能划分的,粒度有点小,大家在做的时候,记得外观有几个即可了,可是不 ...

  3. VB.NET版机房收费系统---导出Excel表格

    datagridview,翻译成中文的意思是数据表格显示,使用DataGridView控件,能够显示和编辑来自不同类型的数据源的表格,将数据绑定到DataGridView控件很easy和直观,大多数情 ...

  4. VB.NET版机房收费系统---异常处理

    异常处理,英文名为Exceptional Handling, 那时年少,还记得那年一起学习过的VB6.0的时候,常常使用ONError的错误语句.与传统VB6.0中的OnError语句相比.NET平台 ...

  5. VB.net版机房收费系统——结账功能实现(调错与优化)

    调错部分 上一篇博客<VB.net版机房收费系统--结账功能实现(代码部分>说的是结账功能的实现,亮出了代码.是在为这篇博客做铺垫.尽管结账功能代码是借鉴的巨人的博客.可是自己比着葫芦画瓢 ...

  6. VB.NET版机房收费系统---七仙女之系统登录

    VB.NET第一版机房收费系统,告一段落,验收的时候.问题也是大大的存在,没实用上设计模式,什么触发器.存储过程,都没实用上.看看其她小伙伴的,七层实现登录?那是什么东东,相比較我的三层而言,多了两倍 ...

  7. VB.NET版机房收费系统---报表

    报表,即报告情况的表格,简单的说:报表就是用表格.图表等格式来动态显示数据,可以用公式表示为:"报表 = 多样的格式 + 动态的数据". 在没有计算机以前,人们利用纸和笔来记录数据 ...

  8. VB.NET版机房收费系统—数据库设计

    之前第一遍机房收费的时候,用的数据库是别人的.认知也仅仅能建立在别人的基础上,等自考中<数据库系统原理>这本书学完了之后,再去看曾经的数据库,发现数据库真的还须要进一步的优化.以下是我设计 ...

  9. VB.NET版机房收费系统---外观层如何写

    外观设计模式,<大话设计模式>第103页详细讲解,不记得这块知识的小伙伴可以翻阅翻阅,看过设计模式,敲过书上的例子,只是学习的第一步,接着,如果在我们的项目中灵活应用,把设计模式用出花儿来 ...

随机推荐

  1. 通过崩溃地址找错误行数之Delphi版

    通过崩溃地址找错误行数之Delphi版2009-5-11 17:42:35 来源: 转载 作者:网络 访问:360 次 被顶:2 次 字号:[大 中 小]核心提示:什么是 MAP 文件?简单地讲, M ...

  2. 重载(overload),覆盖/重写(override),隐藏(hide)

    写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖/重写(override),隐藏(hide).在早期的C++书籍中,常常把重载(overload)和覆盖(override)搞错 ...

  3. css hack 如何区分 ie7 ie8

    .style { width:100px; /*火狐以及一般浏览器*/ width:200px\9; /*IE8*/ *width:150px; /*IE7*/ _width:50px; /*IE6* ...

  4. 我在知乎上关于Laser200/310电脑的文章。

    我是30年前从Laser-310起步的,我来回答这个问题. 主要硬件规格: CPU:Z-80A/4.7MHz主频 16K RAM + 2K Video RAM 16K ROM 磁带输出:波特率300 ...

  5. 无比奇怪的问题,Runtime报错,程序仍可运行(有可能是线程崩溃,但主程序不崩溃,线程崩溃可能是因为锁使用不当引起的)

    但主界面仍可操作. 我估计是,线程运行崩溃,不影响主界面的运行(如果你不去点击那个确认错误的对话框的话). 仔细分析,我估计是使用锁不当引起的.有2种情况下必崩溃: 1. 对没有上锁的锁进行解锁 2. ...

  6. Swift - 使用表格组件(UITableView)实现单列表

    1,样例说明: (1)列表内容从Controls.plist文件中读取,类型为Array. (2)点击列表项会弹出消息框显示该项信息. (3)按住列表项向左滑动,会出现删除按钮.点击删除即可删除该项. ...

  7. Andy&#39;s First Dictionary

    Description Andy, 8, has a dream - he wants to produce his very own dictionary. This is not an easy ...

  8. Ubuntu下Chromium源码的编译

    一.失败的经历 印象中,谷歌建议Ubuntu建议版本为10.4.但是我找不到出处了,模糊的印象.不知道是不是这样? 1.Ubuntu10.4.3-desktop-amd64 + Virtual Box ...

  9. The usage of V$PGA_TARGET_ADVICE

    Oracle 10g 给出了一系列的自动优化的建议,告诉我们PGA分配多大能给系统带来最大的性能?V$PGA_TARGET_ADVICE视图给出了很好的“预测”! 看一下这个视图能给我们带来什么样的信 ...

  10. 2015年十大热门Android开源新项目

    2015年十大热门Android开源新项目 2015 即将结束,又到了大家喜闻乐见的年终盘点时刻啦,今天给大家盘点一下 2015 年 Android 开发领域新出现的 10 大热门开源项目.数据来自于 ...