DDD:就是 Domain Driven Design 领域驱动设计
这是个什么东西呢?
是一个分析系统的方式 DDD领域驱动 来帮助你设计系统的一个方式
为什么要用?用的好处?
架构发展:单体--集中式 --分布式微服务
从编程思想来看发展: POP 面向过程 ---OOP面向对象 (AOP扩展)--- DDD领域驱动
面向过程 因为过程随时代发展太多了 所以 将思想 转变成了 对象,而现在微服务 对象也太多了 不好处理 所以将 视角聚焦与 业务能够应对微服务 DDD领域驱动开始火起来了
从实际操作来说:之前都是先创建数据库 然后开发以数据为核心关注点 比如业务有点变动 那数据就得变动 数据一旦有一点变动 牵一发而动全身 别的有点关联的业务也得变动 不好伸缩维护
所以 现在为了 复杂业务这个关注点 设计出来的 某个业务变动 只需某个领域变动 这样一来 肯定比之前舒服
关注与 业务 层面后 开发人员也会更了解业务/复杂的业务需求 在 开始设计中 就能得到有效的 梳理和简化沟通 之后开发不是也能有高效
简单来讲 就是 将聚焦于数据的模式 转换成 聚焦于 业务的模式
总结:DDD适用于“业务复杂”的且“需要维护和扩展”的系统 拆分领域 可伸缩性