一、领域驱动设计概述

概述

什么是领域驱动设计?

领域驱动设计(domain Drivern Design) ,针对业务模型的行为和数据

  1. 通过将实现连接到持续进化的模型来满足复杂需求的软件开发方法
  2. 领域模型是对业务模型的抽象

领域驱动适合的场景

在这里插入图片描述

DDD与微服务的区别

领域驱动设计是一种处理高度复杂域设计思想,试图分离技术实现的
复杂性, 围绕业务概念构建领域模型来控制业务的复杂性,以解决软件难
以理解,难以演化等问题。
团队应用它可以成功地开发复杂业务软件系
统,使系统在增大时仍然保持[[敏捷]]。
领域驱动设计贯穿了整个软件开发的生命周期

  • DDD的核心诉求是将业务架构映射到系统架构上,在响应业务变化调整业务架构时,也随之变化系统架构。
  • 微服务追求业务层面的复用,设计出来的系统架构和业务一致;在技术架构上则系统模块之间充分解耦,可以自由地选择合适的技术架构,去中心化地治理技术和数据。

DDD的特点:

  • 根据业务模型设计系统:根据业务语义抽象梳理设计成领域模型,而不是通过数据库等数据源驱动设计。
  • 数据模型统一:通过真实业务背景,梳理出业务域模型自然会形成出参、入参、中间临时属性收口统一为域模型
  • 业务模型与数据源无关:数据源更换,领域模型无感知,无须变更;一个域模型底层可能对应n个数据源;系统升级底层数据源结构改造时,变更对业务层是透明,域模型可无缝对接。
  • 业务属性字段命名统一、引用唯一:MVC模式开发中,入参model/数据传输model/数据源model,同一个业务属性含义可能有多种不同的命名。
  • 业务行为Action收口:原有开发模式下,一个Model类是一个POJO、DTO、DO,仅做数据传输,没有任何业务相关Action,属于典型的贫血模型。DDD中一个Model表述一个业务的域,有属性、业务行为Action,并且这个域的所有操作都在这个Model中,不仅有数据传输的作用也是一个具体的Service,是属于充血模型。这就可以做到业务操作高内聚、低耦合,系统更能直观体现业务逻辑。

DDD优缺点:

  • 优点:系统演进更方便,分为业务复杂性变化的演进和业务数据量变化的演进;更方便测试
  • 缺点:
    • 系统改造成DDD复杂,开发熟悉DDD思想困难。
    • 没有固定的协作方式,无法保障结果
    • 可视化程度有限,产出难以沉淀
    • 理论过于抽象,难以实例化,难以理解
### 部署 Stable Diffusion 的准备工作 为了成功部署 Stable Diffusion,在本地环境中需完成几个关键准备事项。确保安装了 Python 和 Git 工具,因为这些对于获取源码和管理依赖项至关重要。 #### 安装必要的软件包和支持库 建议创建一个新的虚拟环境来隔离项目的依赖关系。这可以通过 Anaconda 或者 venv 实现: ```bash conda create -n sd python=3.9 conda activate sd ``` 或者使用 `venv`: ```bash python -m venv sd-env source sd-env/bin/activate # Unix or macOS sd-env\Scripts\activate # Windows ``` ### 下载预训练模型 Stable Diffusion 要求有预先训练好的模型权重文件以便能够正常工作。可以从官方资源或者其他可信赖的地方获得这些权重文件[^2]。 ### 获取并配置项目代码 接着要做的就是把最新的 Stable Diffusion WebUI 版本拉取下来。在命令行工具里执行如下指令可以实现这一点;这里假设目标路径为桌面下的特定位置[^3]: ```bash git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git ~/Desktop/stable-diffusion-webui cd ~/Desktop/stable-diffusion-webui ``` ### 设置 GPU 支持 (如果适用) 当打算利用 NVIDIA 显卡加速推理速度时,则需要确认 PyTorch 及 CUDA 是否已经正确设置好。下面这段简单的测试脚本可以帮助验证这一情况[^4]: ```python import torch print(f"Torch version: {torch.__version__}") if torch.cuda.is_available(): print("CUDA is available!") else: print("No CUDA detected.") ``` 一旦上述步骤都顺利完成之后,就可以按照具体文档中的指导进一步操作,比如调整参数、启动服务端口等等。整个过程中遇到任何疑问都可以查阅相关资料或社区支持寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘉羽很烦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值