一、数据库程序在线访问方式和 ORM 方式的优缺点:
数据库程序在线访问方式优点:
1、性能比 ORM 好
2、可以处理复杂查询语句
数据库程序在线访问方式缺点:
1、要求程序员懂 SQL 语句
2、修改与维护相对困难
ORM 优点:
1、使用 ORM 可以大大降低学习和开发成本。
2、程序员不用再写 SQL 来进行数据库操作。
3、减少程序的代码量。
4、降低由于 SQL 代码质量差而带来的影响。
ORM 缺点
1、不太容易处理复杂查询语句。
2、性能较直接用 SQL 差。
ORM,即 Object-Relationl Mapping,它在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的 SQL 语句打交道,只要像平时操作对象一样操作即可。当你开发一个应用程序的时候(不使用 OR Mapping),可能会涉及许多数据访问层的代码,用来从数据库保存、删除、读取对象信息等等,然而这些代码写起来总是重复的。
一个更好的办法就是引入 OR Mapping。实质上,一个 OR Mapping 会为你生成 DAL。与其自己写 DAL 代码,不如用 OR Mapping,你只需要关心对象就好。
使用 ORM 可以大大降低学习和开发成本。而在实际的开发中,真正对客户有价值的是其独特的业务功能,而不应该把大量时间花费在编写数据访问、CRUD 方法、后期的 Bug 查找和维护上。在使用 ORM 之后,ORM 框架已经把数据库转变成了我们熟悉的对象,我们将只需要了解面向对象开发就可以实现数据库应用程序的开发,不需要浪费时间在 SQL 上。同时也可减少代码量,减少数据层出错机会。
通过 Cache 的实现,能够对性能进行调优,实现了 ORM 区隔了实际数据存储和业务层之间的关系,能够对每一层进行单独跟踪,增加了性能优化的可能。
二、工厂模式
工厂模式分抽象工厂与工厂方法。
抽象工厂设计模式提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定它们具体的类。其优点是可以非常方便的创建一系列的对象,其使用场景也是创建系列对象的情况。可以针对 Oracle、MySQL、SQLServer 分别建立抽象工厂,若指定当前工厂为 Oracle 工厂,则创建出来的数据库连接,数据集等一系列的对象都是符合 Oracle 操作要求的。这样便于数据库之间的切换。