3层架构
来源:互联网 发布:华瑞it教育java学费 编辑:程序博客网 时间:2024/05/17 06:12
3层架构:界面层、业务逻辑层、数据访问层
C#里分层是通过添加不同的项目来实现的,我们现在的项目叫做界面层,再加一个项目是业务逻辑层,再加一个数据访问层。现在我添加了一个dbhelper的类库项目,这是一种新的项目。
我们以前说过,有winform,控制台之类的这些都是可直接运行的程序,但现在的类库项目不能直接运行,只能被可运行的项目引用来使用,因为dbhelps是一个项目,所以要从项目中引用,如果引用别人的编译好的项目(一个dll文件)的话就需要从磁盘上找这个dll文件了。现在我们在做一个新的项目,负责处理业务逻辑。
界面上只负责如何显示和接受数据,具体的业务逻辑都交给业务层去处理。
现在新建了一个项目,我们先把登陆模块的逻辑移到这个项目中,登陆模块的内容从逻辑上讲应该是user这个对象来负责的,所以我们做一个user类。该类负责检查当前登陆用户是否有权限,现在把在界面中的判断登陆的逻辑拿到这里来,这样我们就把是否有权限登陆的业务逻辑的代码移到业务层了。
在user对象中不应该有界面元素的,比如文本框,这样做是不对的,业务逻辑里不能有界面的东西,界面只能在UI层里。你这样写的问题是因为你把校验放到了user对象中了,像现在的这样的校验应该放到UI中去做,这个校验不像那种年龄那种的,属于对象的行为,对像不能为空,数据类型不对,两次输入不同等都应该是界面的行为,想想对象的职责就比较容易分清楚了,user只要保证它自己的状态是正确的就可以了。反正你先记住要职责分明吧,不要把别人做的,让其他的对象去做。
-------------------------------------------------
xml:全称是叫可扩展的标志语言
他的内部都是自描述的,看到这个内容就能明白这个配置项是做什么用的
第一行是版本号,文件编码
configuration表示配置项的意思 是该文件的根节点
下面的appsettings是他的子节点
add又是appsettiing的子节点
就是这样一个层次结构
/// <summary>
/// 操作数据库的帮助类,该类包含了执行数据库的静态方法
/// </summary>
public class SqlHelper
{
public static string sqlConString = "";
static SqlHelper()
{
//使用下面的类来读取 app.config中的配置项,这个配置项必须放在 AppSettings中
sqlConString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionStr"];
}
/// <summary>
/// 执行一个Sql返回一个DataSet
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static DataSet GetDataSet(string sql)
{
}
/// <summary>
/// 执行一个Sql,返回一datareader,注意,使用这个reader自己要关闭一下。
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static SqlDataReader GetDataReader(string sql)
{
//使用这个参数,你在外面关闭reader时,会自动关闭连接
reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
/// <summary>
/// 这个方法执行一个语句,返回一个值
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static object ExecuteScalar(string sql)
{
}
/// <summary>
/// 执行不返回数据的sql,如 insert ,delete ,update 这样的语句
/// </summary>
/// <param name="?"></param>
public static void ExecuteNonQuery(string sql)
{
}
}
- 3层架构
- 转帖:3层架构?
- 3层架构
- 3层架构
- 3层架构浅晰
- 数据库的3层架构
- 【设计】如何划分3层架构?
- 在c#中实现3层架构
- 在c#中实现3层架构
- 在c#中实现3层架构
- 在c#中实现3层架构
- 在c#中实现3层架构
- 简单的3层架构底层书写
- 在c#中实现3层架构
- 在c#中实现3层架构
- C#编程中的3层架构
- OOAD之架构模式-3层模式
- OOAD之架构模式-3层模式
- Mysql 导入csv文件
- ORA-00031: 标记要删去的会话,但会话kill不掉
- 转义字符整理
- HNCU1324:算法2-2:有序线性表的有序合并(线性表)
- UVA 216 - Getting in Line
- 3层架构
- 修改android系统 字体
- 组合模式
- HNCU1325:算法2-3~2-6:Big Bang (线性表)
- C# 动态调用java webservice,Winform解析Json字符串中特殊值
- 纯CSS制作圆角按钮,不需图片,兼容各浏览器
- Firefox中event.KeyCode无效的问题
- android解析 ramdisk.img boot.img system.img
- 库函数调用和系统调用的区别