hjr学习-设计模式:业务逻辑层
来源:互联网 发布:sql server 免费吗 编辑:程序博客网 时间:2024/05/09 17:50
数据持久化
想要软件或系统重启后不丢失的数据需要做数据持久化,可以保存到数据库、文件等里面。
数据持久化一般有两种:
- DBHelper:这种比较经典,就是写一个类专门负责数据库各种操作,比如增删改查等等方法,然后其余的类调用,一般是传入一个SQL语句,然后执行语句、查询返回表格之类的。
- ORM:为了解决关系型数据库和对象型编程语言之间的冲突,把关系型数据库封装成业务实体对象,操作业务对象不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。
对比DBHelper和ORM
比如有两张表class班级表和student学生表,现在要查询学生表中id为1的学生的班级名,执行下面的非对象化(也就是结构化)查询操作:
DBHelper
//这些是数据访问层String sql = "select class.name from class,student where student.id=1 and student.classid=class.id"//这些是业务逻辑层DataTable db = DBhelper.Query(sql)String className = db.Rows[0][0];
可以看到数据访问层和业务逻辑层融合到一起了,这也是一般小项目业务逻辑层与数据访问层混合不清的原因。
对象关系映射(ORM)
//这些都是业务逻辑层StudentModel student = new StudentModel();String className = student.queryStudent(1).getclass();
//这些是数据访问层class StudentModel{ String class{set;get;} queryStudent(String id) { //... }}
班级通过一对多映射被自动映射到student对象中,不过我们需要自己写StudentModel模型的各种属性和方法。而StudentModel也就是数据访问层。
现在使用上述两种数据模型
缓存
把磁盘上的需要频繁读取的文件保存在内存中,提高之后的读取速度,或者是把网上的远程内容先下载到本地,提高本地读取的速度等。
业务逻辑层
组织
数据访问层+
模式
各种设计模式,工厂、策略、适配器……
1 0
- hjr学习-设计模式:业务逻辑层
- 基于命令模式的业务逻辑层设计
- 业务逻辑层接口设计
- 业务逻辑层的模式
- hjr学习-设计模式:工厂模式
- hjr学习-设计模式:策略模式
- hjr学习-设计模式:装饰者模式
- hjr学习-设计模式:原型模式
- hjr学习-设计模式:代理模式
- hjr学习-设计模式:UML类图
- 设计模式之 抽象工厂 封装业务逻辑层和Dao层
- PetShop之业务逻辑层设计
- PetShop之业务逻辑层设计
- [收藏]PetShop之业务逻辑层设计
- PetShop之业务逻辑层设计
- PetShop之业务逻辑层设计
- PetShop之业务逻辑层设计
- PetShop之业务逻辑层设计
- d3导出svg图片
- NYOJ760-See LCS again,有技巧的暴力!
- php学习笔记:验证码
- 1192
- Handle
- hjr学习-设计模式:业务逻辑层
- python 基础学习笔记(一)
- scp的用法
- HeapSort 堆排序
- 一些优(简)秀(单)的算法实现技巧
- 【Android】Android Studio快捷键
- 二叉树的最小深度(非递归)
- ServletContext
- The Pilots Brothers' refrigerator(我也不知道该写啥。。)