`
minh456
  • 浏览: 63908 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

说说动软的2种架构和3种数据层(转自木子屋)

阅读更多
转载而来,为了表示感谢,贴出原文地址:http://www.mzwu.com/article.asp?id=1882

在动软.Net代码生成器 2.1.9中我们可以看到他默认支持2种架构(简单三层结构和基于工厂模式三层架构)和3种数据层类型(基于SQL字符串方式、基于Parameter方式和基于存储过程方式的数据层),这些是我们常见的架构和数据层类型,下边我们再做些说明。

一、架构

1.简单三层结构

在这种架构中主要包含Model、BLL和DAL三层,通常是每张表在这三层都有一个对应的文件(类),Model中为实体类,BLL层封装一些逻辑操作并调用DAL层的方法来查询数据库。

2.基于工厂模式三层架构

在这种架构中,除了基本的Model、BLL和DAL三层结构外,多了DALFactory和IDAL两层,DAL层中的类都继承自IDAL中的接口,BLL层则通过DALFactory来判断调用哪个DAL层,工厂模式三层架构在支持多种数据库类型的Web应用程序中特别的有用。

二、数据层类型

为了便于说明,下边的例子都是要在student表中添加一条记录。

1.基于SQL字符串方式

其实就是通过字符串拼接组成SQL语句:


程序代码

{
    String strSQL = String.Format("Insert Into student(name,age) Values('{0}',{1})", info.Name, info.Age.ToString());
    SqlCommand cmd = new SqlCommand(strSQL,conn);
    return cmd.ExecuteNonQuery();
}

2.基于Parameter方式

基于Parameter方式有个别名为参数化查询:

程序代码

{
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = conn;
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "Insert Into student(name,age) Values(@Name,@Age)";

    cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = info.Name;
    cmd.Parameters.Add("@Age", SqlDbType.Int).Value = info.Age;

    return cmd.ExecuteNonQuery();
}

3.基于存储过程方式

通过调用存储过程来完成数据库操作:

程序代码

{
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = conn;
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = "Proc_Student_Add";

    cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = info.Name;
    cmd.Parameters.Add("@Age", SqlDbType.Int).Value = info.Age;
    cmd.Parameters.Add("@Return", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;

    cmd.ExecuteNonQuery();

    return Convert.ToInt32(cmd.Parameters["@Return"].Value);
}


有关SQL字符串方式和Parameter方式的比较大家可看看《使用参数化查询的优点》这篇文章。
分享到:
评论

相关推荐

    利用动软生成工厂模式三层架构

    在动软生成的三层架构中,可能包含HTML/JS(表现层)、Java/C#(业务逻辑层)、SQL(数据访问层)等多种文件类型,每种文件都有其特定的职责和作用。 5. **三层架构案例项目** 在实际项目中,例如一个网上商城...

    三层架构 通用数据访问层 C# .NET B/S

    这种架构将应用程序逻辑分为三个主要部分:表现层、业务逻辑层和数据访问层,旨在提高系统的可维护性、扩展性和重用性。 1. 表现层(Presentation Layer):这是用户与应用交互的界面层,通常由Web页面或客户端应用...

    三层架构(表现层、业务逻辑层、数据访问层)

    目录 1三层结构原理 2各层的作用 3区分方法 ? 表示层 ? 业务逻辑层 ? 数据层 4规则 5优缺点 ? 优点 ? 缺点 6与MVC的区别

    登录(简单三层架构)源码

    三层架构是一种常见的软件设计模式,它将应用逻辑分为三个主要部分:表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。这种结构有助于提高代码的可维护性和可...

    一层架构二层架构三层架构

    "一层架构"、"二层架构"和"三层架构"是常见的网络架构模型,主要用于描述不同层次的功能分配和通信方式。这些架构模式在www(World Wide Web,万维网)应用中尤为重要,因为它们帮助我们理解和组织web服务的复杂性。...

    动软代码生成器C#连接mysql三层代码模板修改.rar

    动软代码生成器便是这样一款工具,它支持C#语言,并能与MySQL数据库进行无缝连接,自动生成DAL(数据访问层)、BLL(业务逻辑层)和MODEL(模型层)的三层架构代码。本文将深入探讨如何使用这款工具以及其核心功能。...

    三层架构及代码生成工具动软实现过程介绍(SQL版)1.1(ppt)

    在动软实现过程中,首先需要一个支持三层架构的环境,包括SQL Server 2005 SP2作为数据库服务器,Visual Studio 2008 SP1作为开发工具,以及动软.Net代码生成器和Enterprise Library May 2007来辅助开发。...

    Vb.net三层架构

    这种架构将应用程序分为三个主要层次:表示层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer),每个层都有其特定的职责,从而实现代码的解耦合和模块化。 1. **表示...

    delphi数据库的三层架构

    这种架构将应用程序分为三个主要部分:表示层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer),每个层都有其特定的职责。 1. 表示层:这是用户与应用程序交互的部分...

    视频--使用动软三层结合ObjectDataSource实现增删改

    在ASP.NET开发中,"动软三层架构"是一种常见的应用程序设计模式,用于分离业务逻辑、数据访问和用户界面。这个视频教程重点讲解了如何利用动软三层架构与ObjectDataSource控件来实现数据库中的数据增删改操作。接...

    动软.NET代码生成器生成三层架构.pdf

    《动软.NET代码生成器生成三层架构》的PDF文档主要介绍了一种利用工具自动生成.NET三层架构代码的方法。三层架构通常包括表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data ...

    手把手教你怎么用动软.net代码生成器搭建三层架构汇编.pdf

    三层架构是一种常见的软件设计模式,通常包括表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。这种架构有助于实现代码的解耦,提高可维护性和可扩展性。 ...

    三层架构小案例(包含类图)

    这种架构将应用程序分为三个主要部分:表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。在这个小案例中,我们将探讨如何使用Visual Studio 2012和SQL Server ...

    ASP.NET三层架构实例

    ASP.NET三层架构是一种常见的软件设计模式,用于组织和分离应用程序的业务逻辑、数据访问和用户界面组件。在这个实例中,我们将深入探讨如何使用ASP.NET来实现这种架构,并以一个简单的留言板为例进行说明。 首先,...

    .NET三层架构简单例子(登录和注册功能)

    .NET三层架构是一种常见的软件开发模式,它将应用程序的逻辑分为三个独立的层:表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。这种架构设计的主要目标是...

    动软代码生成器-三层模板扩展.rar

    3. **模型层(Model)**:模型层通常代表数据库中的表或者对象,封装了数据和相关属性。`Model.cmt`文件可能包含了用于自动生成模型类的模板,这些模型类可以映射到数据库中的表,并且提供了对数据的操作接口。 动...

    C#基于工厂模式的三层架构示例

    **三层架构**是一种常见的软件架构模型,通常包括表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。这种架构有助于保持代码的组织性和可维护性,因为它将应用程序的不同组件分离: 1. **表现层(UI)**:这是...

    三层架构和MVC模式区别

    三层架构与MVC模式在软件开发领域中是两种常见的设计思想,它们各自有着独特的应用场景和优势,但在实际项目中往往容易被混淆。本文旨在深入解析三层架构与MVC模式的区别,帮助开发者更好地理解和运用这两种模式。 ...

    中国联通IT系统数据架构规范_第一分册_企业数据模型分册

    中国联通企业数据模型体系是一种统一的数据架构,它定义了企业各个业务系统之间的数据关系和交互方式。该体系包括企业数据架构、企业数据模型和企业数据架构规范三个部分。 企业数据架构体系 企业数据架构体系是...

    三层架构思想

    例如,微服务架构就是三层架构思想的一种现代延伸,它将业务逻辑进一步分解为更小、更独立的服务,每个服务都有自己的数据存储和业务逻辑,可以独立部署和扩展。此外,现代Web开发框架如Spring Boot、ASP.NET Core等...

Global site tag (gtag.js) - Google Analytics