引用
引用
引用
类图是E-R 图的一个超集,所以我会选择先用面向对象的方式建立领域模型(分析类),然后两个分支并行的做数据库逻辑模型和领域模型的设计类。这样省去了数据库的概念模型。并且类图的表达能力要大于E-R 图,类图转换成表时也很多规则可以用的(跟概念模型转换为逻辑模型很像的),总之只要搞到满足特定的范式就OK 了。
这样也算ORM 了。
两个分支并行?是一边设计领域模型,一边设计数据库表吗?这样不是混淆了设计的方法,同时应用面向对象和面向关系,这样设计不是会在领域模型中混入了关系的模式,使领域模型不伦不类。导致领域模型失去了简单性和明确性,难以理解。
是一边设计领域模型(设计类),一边设计数据库表,而这两个模型的基础都是领域模型(分析类中的实体类),再将类映射到表。这样恰恰可以将数据库模式和领域模型解耦。在数据库这边可以根据相关范式做重构,领域模型那边完全按照面向对象的方式组织类之间的关系,分配职责等。
先设计数据库表,再通过反向工程做ORM,可以这样做,但不能这样想。什么意思?就是我们的思想应该是先有领域对象,然后才是将领域对象持久化,这个才是ORM.
为什么可以反过来做,那是因为没有人说不可以,所以就可以了。
分享到:
相关推荐
博客可能会讨论以下主题: 1. ORM的基本概念和工作原理 2. 如何在PHP项目中安装和配置ORM框架 3. 创建模型并定义数据表映射 4. 使用ORM进行数据CRUD操作 5. 处理关联关系,如一对一、一对多、多对多 6. 查询构造器...
"dos.orm_orm" 这个标签明确了这是关于ORM(Object-Relational Mapping)技术的讨论。ORM的核心功能包括实体映射、查询构造、事务管理等。在 Dos.ORM 中,你可以通过定义实体类来映射数据库表,使用LINQ(Language ...
10. **文档与社区支持**:熟悉Grove ORM的官方文档,学习如何获取帮助,参与社区讨论,获取最新的开发资讯和最佳实践。 通过深入学习和实践这些知识点,开发者将能够充分利用Grove ORM Development Toolkit,提高...
标题“Orm compare”暗示了我们将讨论的是关于对象关系映射(ORM)框架的比较,可能是针对不同的ORM解决方案的性能、特性和使用场景的分析。在描述中提到了一个博客链接,但由于这里没有实际链接内容,我将根据ORM的...
在本例中,我们讨论的是一个基于VS2005开发的三层架构ORM客户关系管理系统,它提供了学习源码,非常适合于开发者进行学习和实践。 首先,三层架构是软件设计中的一种常见模式,主要分为表现层(UI)、业务逻辑层...
标题"Go-GoGolang的ORM库"暗示我们将讨论的是Go语言中的一些ORM库。Go的ORM库为开发者提供了与关系数据库进行交互的抽象层,使得在Go中处理数据库变得更加简单。这些库通常包括模型定义、查询构建器、事务处理等功能...
标签“Sqlite”明确了讨论的核心是SQLite数据库。 根据压缩包内的文件名,我们可以推测这可能是一个SQLite ORM框架的测试项目和相关的源代码: 1. `SqliteORM.Tests\obj\Debug\ResolveAssemblyReference.cache`:...
- **常见问题解答 (FAQ)**:提供了一些关于Doctrine2 ORM的常见问题及其解决方案。 - **邮件列表**:通过加入Doctrine的邮件列表,你可以与其他用户交流经验,获得技术支持。 - **IRC聊天室**:在Freenode上的#...
在讨论ORM框架之前,我们先了解一下DTD(Document Type Definition)的基本概念及其如何用于验证XML文档。 ##### 2.1 DTD的概念和作用 DTD是一种用于定义XML文档结构的标准语言。通过DTD,我们可以定义XML文档中的...
作者可能会讨论如何集成Spring框架的事务管理功能,以确保数据的一致性和完整性。这包括对@Transactional注解的理解,以及如何配置事务管理器。 文件名“orm”可能代表了本项目中的核心ORM实现类或者相关包。在这个...
在文件"PatternsOfPersistence"中,我们可以期待看到关于持久化模式的深入讨论,这可能包括贫血模型和富模型的对比,以及事务管理、事务隔离级别的选择和事务回滚策略。此外,还可能涉及如何通过SessionFactory和...
在本主题中,我们讨论的是一个自定义的 ORM 工具,它专为作者自己的框架设计,旨在提高开发效率和代码的可维护性。 【描述】:虽然描述为空,但根据“博文链接:https://mojianpo.iteye.com/blog/1179698”可以推测...
在本篇讨论中,我们将深入探讨“基于Java的简易ORM框架实现”。ORM,全称Object-Relational Mapping,是将数据库中的数据与程序中的对象进行映射的技术,它简化了数据库操作,使得开发者可以像操作对象一样操作...
面试时,你也可能需要讨论索引的优缺点、何时创建索引、何时不创建,以及如何优化SQL查询以充分利用索引。 总之,理解数据库基础、SQL语法、ORM框架的原理和应用,以及如何有效利用索引,将有助于你在面试中表现...
标题中提到的"C#发现之旅:使用反射和特性构造自己的ORM框架实用",主要讨论的是如何利用C#语言中的反射和特性这两个高级特性来构建一个自定义的ORM框架。反射是.NET框架提供的一种强大的动态类型处理能力,它允许在...
在标题“orm 多表查询实体解决办法”中,我们讨论的是如何在ORM框架下进行涉及多个数据表的查询,并将查询结果映射到实体对象上。在实际的项目中,这通常是通过关系映射(例如一对多、多对一、多对多)或者JOIN操作...
大二的时候为了做个后台方便写的ORM组件 没有Hibernate那么多功能,也没有Hibernate那么多麻烦事情. 压缩包里面文档和源码还有打包的jar都奉上 呵呵 有人用就用 随便改 欢迎和我讨论技术 qq:48579466 做个广告哈
这个标题表明我们要讨论的是Hibernate ORM框架中的一种特定的数据关系映射——一对多双向组合关联。在关系型数据库中,一对多关联意味着一个父实体可以与多个子实体相对应,而双向则表示这种关系是相互的,即父实体...
在本次讨论中,我们将深入探讨Spring-ORM的源码分析,以及其在.NET架构中的应用。 首先,Spring-ORM的核心特性在于它的灵活性和可扩展性。通过Spring的IoC(Inversion of Control)容器,我们可以轻松地管理数据库...
标题中的“论坛源码”指的是一个用于创建在线讨论平台的软件源代码,它通常包括用户注册、登录、发帖、回帖、管理等功能。这样的源码可以帮助开发者快速搭建自己的论坛网站,节省从零开始编写所有功能的时间。"ASP...