php网站开发实例教程案例,我国企业网站的建设情况,做网站建设一年能赚多少钱,网上推广怎么收费领域驱动设计#xff08;“DDD”#xff09;是一种专注于系统领域而不是技术的软件设计方法。重点是构建共享的心理模型并以尽可能简单的方式在代码中表示该领域模型。数据库存储、框架等技术细节被认为是设计的次要方面。该模块将重点关注 DDD 和一般设计以及相关主题#…领域驱动设计“DDD”是一种专注于系统领域而不是技术的软件设计方法。重点是构建共享的心理模型并以尽可能简单的方式在代码中表示该领域模型。数据库存储、框架等技术细节被认为是设计的次要方面。该模块将重点关注 DDD 和一般设计以及相关主题例如文档和软件架构的某些方面。本课程使用基本的函数式编程概念来表达领域和设计类型作为文档函数以及函数的组合用于实现。在适当的时候也可以引入面向对象的等价物和面向对象的设计模式。
频率 该课程每年举办一次。
课程日期 2024 年 10 月 21 日 牛津大学计算机科学系——在系内举行 剩余 09 个名额。
目标 完成课程后学员将
了解领域驱动设计的原理以及它与面向对象设计、数据库驱动设计等的区别。了解何时以及为何使用 DDD 而不是其他方法。了解如何采访领域专家以了解领域中的关键概念和活动重点强调沟通和开发共享的心理模型。了解如何使用代数类型和函数记录这些概念和活动了解如何使用类型来捕获尽可能多的领域细节以及如何“使非法状态无法表示”并减少单元测试的需要。了解适用于函数和类型的组合原则以及如何从较小的函数组合活动建模为函数。了解如何应用 DDD 方法来处理错误。了解如何将非纯元素集成到设计中I/O、数据库等并管理应用程序中的状态。了解 DDD 方法来划分设计“有界上下文”以及设计如何与软件架构相关。
内容 了解域 软件开发过程需求、分析、设计沟通与反馈用例、故事、工作流程
域建模 代数类型和函数类型继承、接口请求/响应与输入/输出
细化域 使用类型来捕获约束可选类型和总和类型身份、实体、价值对象重构
建模状态及时间 状态机不变量命令和事件事件溯源时间相互作用
针对错误进行设计 总功能“诚实”的函数签名域错误建模和组合误差生成函数验证
纯度、I/O 和测试 以数据库为中心与以领域为中心的架构有状态与无状态设计确定性和单元测试将 IO 移至边缘错误恢复、交易、补偿不可变数据、账本
领域驱动的设计和数据库 持久化到数据库或文档存储命令查询分离在数据库中存储状态机快照存储、时态数据库、事件源报告
分区和构建域驱动设计 有界上下文上下文映射“反向康威策略”公共领域事件与内部事件序列化域对象部署模块化单体、SOA/微服务、无服务器
总结 审查所有技术构建完整的应用程序包括需求收集、设计、实现、错误处理和数据库存储
评估标准 该任务旨在按照重要性递减的顺序确定
您了解领域驱动设计的关键原则吗您能解释一下 DDD 与其他软件设计方法有何不同吗您是否演示过如何使用非技术领域专家和其他利益相关者可以理解的代数类型来表示领域您是否了解如何避免使用原语以及如何表示简单的约束类型、可选数据等您能否展示如何改进设计以消除某些类型的错误以及防御性编程的需要您了解状态管理和数据库的 DDD 方法吗您了解如何划分设计并围绕此规划架构吗
要求 该课程将需要基本的编程技能例如使用编辑器、使用 git 等。不需要 DDD 或函数式编程的先验知识 - 所有概念将根据需要在课程中介绍。它无意于涵盖任何深度的函数式编程它独立于 FPR但与之互补。
本课程使用的编程语言是 F#因为它支持面向对象和函数式编程风格。无需具备 F# 经验。
https://www.jdon.com/72931.html