这是在我回顾以前ORM是什么的笔记的心得。
很多技术的发展都是因为旧有的东西出了问题或是繁杂,因此发展出新的技术去解决或改进。但通常我们在学这个技术的时候只会看到他平铺直叙的tutorial,类似介绍这个技术是什么,他按部就班该怎么用。说真的 很无感。这是在我回顾以前ORM是什么的笔记的心得。
比较一下一般的学习与技术文章方式
一开始如果都不会的话,可能查一下wiki的定义,什么是ORM
"物件关联对映(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程式设计技术,用于实现物件导向程式语言里不同类型系统的资料之间的转换。从效果上说,它其实是建立了一个可在程式语言里使用的「虚拟物件资料库」。如今已有很多免费和付费的ORM产品,而有些程式设计师更倾向于建立自己的ORM工具。
物件导向是从软体工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关联式资料库则是从数学理论发展而来的,两套理论存在显着的区别。为了解决这个不匹配的现象,物件关联对映技术应运而生。"
https://zh.wikipedia.org/wiki/%E5%AF%B9%E8%B1%A1%E5%85%B3%E7%B3%BB%E6%98%A0%E5%B0%84
嗯 有看没有懂
"A simple answer is that you wrap your tables or stored procedures in classes in your programming language, so that instead of writing SQL statements to interact with your database, you use methods and properties of objects.
In other words, instead of something like this:
String sql = "SELECT ... FROM persons WHERE id = 10"DbCommand cmd = new DbCommand(connection, sql);Result res = cmd.Execute();String name = res[0]["FIRST_NAME"];
you do something like this:
Person p = repository.GetPerson(10);String name = p.FirstName;
Now, benefits. First of all, you hide the SQL away from your logic code
...
Additionally, you can focus on writing the logic, instead of getting all the SQL right
...
"
What is an Object-Relational Mapping Framework? [duplicate]
https://stackoverflow.com/questions/1152299/what-is-an-object-relational-mapping-framework
这样就可以简单懂了! ORM就是将database的世界与source code拆分出去,source code只要规範要CRUD什么Object,database query 的sql与使用哪种database他切割出去到另外一个地方做。
简单的说,觉得技术文章应该要是这样写
Before, After的code範例根据範例,讲述以前面临问题根据範例,讲述解决了什么问题实际hello world怎么做等实作面不然时常会觉得不知道到底这技术是拿来解决什么的,无感 学习的动机跟学习的方向也就因此大打折扣