数据库重构与领域驱动设计
2023-06-13 09:17:33 时间
一、数据库重构经典实践
- 创建数据库schema的数据库定义语言DDL脚本
- 数据加载/抽取/迁移的脚本
- 数据模型文件
- 对象/关系映射元数据
- 参考数据
- 存储过程和触发器定义
- 视图定义
- 参照完整性约束
- 其他数据库对象,如序列、索引等
- 测试数据
- 测试数据产生脚本
- 测试脚本
二、软件开发面临的问题
三、企业应用开发面临的复杂性
四、认识领域,使用领域驱动设计降低复杂度
模型驱动设计的构造块
- 分离领域
(1)分层的价值,每一层都只代表程序中某一特定方面,这种限制使每个方面的设计都更具内聚性,更容易理解。
(2)将领域层分离出来是实现Model-Driver Design的关键
- 领域对象所表示的模型
(1)对象之间的关系很容易想出来,也很容易画出来,但实现他们却存在潜在的麻烦。
(2)表示模型的三种模式:Entity、Value Object、Service.
(3)捕获领域概念的对象很容易,但理解其含义很困难。
(4)一个对象是用来表示某种具有连续性和标识的事物呢(可以跟踪它所经历的不同状态,甚至可以跨不同的实现跟踪它),还是用于描述某个事物的某种状态的属性呢?— Entity与Value Object的根本区别.
- 三种使关联更容易控制的方法
- 规定一个遍历方向
- 添加一个限定符,以便有效地减少多重关联
- 消除不必要的关联
- 领域对象的生命周期
(1)Factory(工厂)创建和重建复杂对象
(2)Aggregate 封装内部结构
(3)Repository 提供查找和检索持久对象
相关文章
- idea如何配置数据库连接_idea配置数据库驱动
- Jmeter 参数化之数据驱动(ddt)
- AP2915降压恒流驱动IC 一切二 1.2A 内置12W车灯手电筒IC
- Linux驱动:实现设备与系统的连接(linux驱动加载驱动)
- 开发Linux内核块设备驱动程序(linux驱动块设备)
- 技术微软 Oracle数据库: 改变驱动技术未来.(微软oracle驱动)
- Oracle 11g驱动:开启新的数据库之旅(oracle11g驱动)
- 实现Linux驱动模块简单且可靠(linux驱动模块)
- 「详解MySQL数据库驱动包」(mysql数据库的驱动包)
- 轻松安装Oracle驱动,快速启动数据库(oracle安装驱动)
- 数据库MySQL驱动嵌入式数据库互联的利与弊(mysql嵌入式)
- 使用Oracle驱动类简化数据库操作(oracle的驱动类)
- Linux下载必备:网卡驱动安装指南(网卡驱动下载linux)
- Linux 下IIS服务器的驱动程序安装(linuxiis驱动)
- 数据库驱动:SQL Server 实现货币转换(sqlserver 货币)
- Linux下装配显卡驱动:必要步骤指引(linux装显卡驱动)
- 不受系统限制:使用ODBC驱动在Linux上进行数据库操作(odbc驱动 Linux)
- Linux 设备驱动简介与应用指南(linux设备驱动)
- MySQL驱动实现Birt数据库报表功能(birt mysql驱动)
- Maven下载安装Oracle数据库驱动包(mvn安装oracle包)
- MySQL 32位驱动提升数据库性能(32位mysql驱动)
- C 语言驱动 Oracle 数据库(c 执行oracle)
- 如何在 ThinkPHP5 中安装 Redis 驱动(tp5安装redis驱动)
- 新潮流开启SMM框架新时代,Redis驱动创新之路(smm框架 redis)
- 管理Oracle以信息驱动管理 遨游新前程(oracle信息驱动)
- 使用Oracle XP驱动提升数据库性能(oracle xp驱动)