`
ideage
  • 浏览: 327490 次
社区版块
存档分类
最新评论

数据访问策略和ORM

阅读更多

背景: 我开发MIS应用程序.使用DOT.NET.喜欢对象编程.性能很重要.

由于以上要求,我考察了很多程序访问数据的方法.一种是ORM,一种是直接使用ADO.NET.当然数据访问的问题要从数据表一直研究到用户的界面才算完成任务.

首先,因为使用对象,所以ORM吸引了我.研究了很多ORM.NET,.ibatis.net的DataMap很好用.用它调用存储过程很好.还有速马的XORMS,是最简单好用的.还有其他的很多.但他们都有共同的问题:数据绑定.使用ORM之后,微软的DataSet,DataView等数据集合就不能用了,而是使用带IList接口的对象列表,这是数据处理程序的最大问题,我有很多数据会显示.

然后我分析了微软的例子.典型的是Fitch and Mather,PetShop,还有Duwamish.他们都直接使用了ADO.NET.FM重点使用了存储过程和DataTable,PetShop使用的是DataReader,Duwamish使用强类型的DatSet和存储过程.

结论:
数据库方面:根据程序的要求,首先必须使用存储过程.
1.使用存储过程可以将处理和数据联系在一起,这是高性能的关键因素.
2.存储过程减少了网络调用.
3.存储的缺点是开发调试麻烦,升级管理不方便.

在DotNet的客户程序上:因为数据绑定和对象操作的因素,有必要区别对待.
1.业务逻辑上的对象操作,仅使用了较少的对象,这适合使用DataReader和利用存储过程快速读取来初始化和更新对象的状态.这是轻量操作的典型,如PETSHOP. 当然这也为我们使用对象技术的人很多的安慰(我不太想用dataset,喜欢Robert C Martin的对象技术,轻量的对象,但我是在做开发,不是研究,能用的软件才是最重要的.).
2.数据集合上的操作:这里使用了很多数据,如果再使用对象或者对象Collection,就不如DataSet的效率高了.所以要使用存储过程初始化强类型的DataSet, DataTable, DataRow.

后记:必须简化存储过程和DataSet的开发.最好能生成代码的模版,这样才好.所以我发现最好使用CodeSmith.
2005 11 11 10:55:36
分享到:
评论

相关推荐

    Spring数据访问策略

    总结,Spring的数据访问策略覆盖了JDBC、ORM、JPA、NoSQL等多种数据访问方式,并且提供了统一的事务管理和Repository抽象,使得开发者能以一致的方式处理各种数据存储。理解并掌握Spring的数据访问策略,对于提升...

    orm工具策略和最佳实践源代码

    ORM工具的主要目标是消除数据访问层(DAO,Data Access Object)与业务逻辑层之间的耦合,通过对象模型抽象数据库操作,使代码更易于理解和测试。 描述中的“结合hibernate DAO示例”表明我们将深入研究如何利用...

    Ebean支持快速数据访问和编码的JavaORM框架

    Ebean是一个针对Java平台的高效ORM(对象关系映射)框架,它的主要目标是提供简单、快速的数据访问和编码体验。ORM框架的核心功能是将数据库中的表映射为Java对象,使得开发者可以以面向对象的方式来操作数据库,而...

    一个封装较好的数据访问及可扩展架构

    在数据访问层,这可能涉及到数据库连接池的动态扩展、数据访问策略的插件化设计,或者使用微服务架构来分离不同的数据处理逻辑。此外,设计良好的API和遵循开放封闭原则也是确保扩展性的关键。 文件名称列表中的"一...

    开源数据引擎源码Orm

    开源数据引擎源码ORM,是基于.Net平台的一个高效、灵活的数据访问层解决方案,它旨在简化数据库操作,提高开发效率。这个引擎,名为NetUML.DataEngine,具备多数据库支持的能力,意味着开发者可以针对不同的数据库...

    NHibernate和ORM实例

    ORM框架的主要作用是消除传统的数据库操作中的SQL代码,通过提供一种面向对象的方式来操作数据库,使得开发人员可以更专注于业务逻辑,而不是数据访问层的细节。NHibernate为.NET开发者提供了强大的数据持久化解决...

    php中的orm

    在IT行业中,ORM(Object-Relational Mapping)是一种软件设计技术,它允许程序员用面向...通过阅读这篇博客,开发者可以学习到如何更好地利用ORM进行数据库操作,从而专注于业务逻辑的实现,而非底层的数据访问细节。

    这是一个类 GraphQL 风格的 ORM 数据访问框架,易用而强大。.zip

    标题中的“类 GraphQL 风格的 ORM 数据访问框架”是指一个软件开发工具,它结合了 GraphQL 的查询语法和 Object-Relational Mapping (ORM) 的概念,为开发者提供了一种高效、灵活的数据访问方式。ORM 技术允许程序员...

    Moon.Orm下载

    9. **自定义扩展**:如果项目有特殊需求,学习如何扩展Moon.Orm,如创建自定义的数据访问层、自定义日志记录等。 总之,Moon.Orm是一个强大的ORM框架,通过它可以极大地提升.NET开发者的数据库操作效率,减少与...

    简单高效的ORM框架

    在C#编程环境中,ORM框架为开发者提供了极大的便利,简化了数据访问层的代码,提高了开发效率。 “简单高效的ORM框架”可能是针对初学者设计的一个ORM解决方案,它的主要目标是提供易用性和高效性。这样的框架通常...

    轻量级Net的ORM框架

    - **性能优化**:可能包含缓存策略,避免频繁的数据库访问,提高性能。 - **扩展性**:可能允许开发者通过插件或自定义实现来扩展其功能,以适应特定需求。 尽管描述中没有提供LSR.ORM的具体功能和用法,但上述内容...

    C#.NET数据访问

    在.NET框架中,C#作为主要的编程语言,提供了丰富...无论是在小型项目还是大型企业级应用中,都能找到适合的数据访问策略。本资源中包含的相关示例和代码,将帮助你深入理解和实践这些技术,提高你的C#数据库编程能力。

    asp.net 通用数据访问类

    在ASP.NET开发中,创建一个通用数据访问类是提高代码复用性和降低维护成本的重要实践。这个类通常封装了数据库连接、SQL语句执行、事务处理等基础操作,使得业务逻辑层无需直接与数据库交互,从而实现解耦。以下是...

    ORM+Volley+Gson用法

    在Android开发中,ORM框架可以帮助我们简化数据访问层的代码,提高开发效率。常见的Android ORM框架有SQLiteOpenHelper、GreenDao、ORMLite等。 本示例中提到的ORM可能是指使用了某个特定的ORM库,但没有具体指出是...

    自己写的ORM

    这个过程可能涉及到大量代码编写,但能够帮助你更深入地理解数据访问层的内部工作,从而在实际项目中更好地应用和优化ORM技术。同时,通过分享和评估自定义ORM,可以从社区获取反馈,进一步提升自己的编程能力。

    spring-orm.jar

    - 配置实体管理和DAO层,定义数据访问对象并注入相应的持久化工厂。 六、实战示例 以Spring与Hibernate集成为例,创建一个简单的User实体,配置SessionFactory,并通过Spring的HibernateTemplate进行CRUD操作。通过...

    系统架构师-基础到企业应用架构-数据访问层.pdf

    - **性能**:优化数据访问策略,减少不必要的数据库交互,提高执行效率。 - **安全性**:防止SQL注入等安全威胁,保护数据的安全。 ##### 2. 实现策略 实现数据访问层时有多种策略可以选择,其中包括: - **使用...

    基于ORM模型的物资管理系统的设计和实现

    ORM,即对象关系映射,是一种编程技术,它将数据库的表结构映射为程序中的对象,使得开发者可以使用面向对象的方式来操作数据库,降低了数据访问层的复杂性。在物资管理系统中,ORM模型能够简化数据库操作,提高代码...

    最好的数据访问层源码

    "最好的数据访问层源码" 提供了一个适用于.NET平台的通用数据访问层实现,可以极大地简化开发工作,提高代码的可维护性和可扩展性。 首先,让我们深入了解一下数据访问层的核心功能和设计原则。数据访问层的主要...

Global site tag (gtag.js) - Google Analytics