目录 目标 ASP .NET Core 什么是系统 什么是系统思维 系统分解 什么是复杂系统 作业 目标 通过整体定义去认识系统 通过分解去简化对系统的认识 ASP .NET Core ASP .NET Core 是什么 ASP .NET Core 是干什么的 Host.Server.HostApplication 与 ASP .NET Core 是什么关系 ASP .NET Core 和 .NET Core 是什么关系 ASP .NET Core 是什么 WEB FRAMEWORK(形式) A…
目录 UML OPM OPM优化 UML 1997年发布UML标准 主要域 视图 图 主要概念 结构 静态视图 类图 类.关联.泛化.依赖关系.实现.接口 用例视图 用例图 用例.参与者.关联.扩展.包括.用例泛化 实现视图 构件图 构件.接口.依赖关系.实现 部署视图 部署图 节点.构件.依赖关系.位置 动态 状态机视图 状态机图 状态.事件.转换.动作 活动视图 活动图 状态.活动.完成转换.分叉.结合 交互图 顺序图 交互.对象.消息.激活 协作图 协作.交互.协作角色.消息 UML 用例…
目录 设计原则 设计模式 设计原则 DRY (Don't repeat yourself 不要重复) KISS (Keep it stupid simple 简单到傻子都能看懂) YAGNI (You Aren't Gonna Need It 你不会需要它的) CCP 共同闭包 CRP 共同复用 高内聚.低耦合 惯例优先配置 SCO 关注点分离 ADP 无依赖环 SOLID 面向对象设计原则 SOLID S - Single-responsiblity Principle 单一职责 O - Op…
目录 责任链模式 源码 责任链模式 职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无需关心请求的处理细节和请求的传递,所以职责链将请求的发送者和请求的处理者解耦了 何时使用:在处理消息的时候以过滤很多道 使用场景: 有多个对象可以处理同一个请求,具体到哪个对象处理该请求由运行时刻自动确定 在不明确指定接收者的情况下,向多个对象中的一个提交一个请求 可动态指定一组对象处理请求 源码 https://github.com/dotnet/aspnetcore/ 在 ASP .NET…
目录 什么是软件架构 软件架构的基本思路 单体向分布式演进.云原生.技术中台 1.1 什么是软件架构 1.1.1 什么是架构? Software architecture = {Elements, Forms, Rationale/Constraints} 元素.形式/模式.基本原理和限制 为什么需要软件架构? 软件架构的终极目标是用最小的人力成本来满足构建和维护系统的需求 一个软件架构的优劣,可以用它满足用户需求的成本来衡量.如果该成本很低,并且在系统的整个生命周期内一直都维持这样的低成本,那…
目录 项目核心内容 实战目标 RGCA 四步架构法 项目核心内容 无代码埋点实现对所有 API Action 访问控制管理 对 EF Core 实体新增.删除.字段级读写控制管理 与 Identity 进行融合集成 实战目标 RGCA 四步架构法的应用 加深对 OPM 和 OPD 的运用 为毕业设计打下基础 RGCA 四步架构法 Requirement:从利益相关者获取需求 Goal:将需求转化为目标(功能意图) Concept:将目标扩展为完整概念 Architecture:将概念扩展为架构…
2.7.1 敏捷开发 敏捷介绍 敏捷的起源 敏捷软件开发宣言 敏捷开发十二原则 生命周期对比 敏捷开发的特点 敏捷的发展 敏捷的核心 敏捷的起源 2001年,17个老头子在一起一边滑雪,一边讨论工作,制定了<敏捷软件开发宣言> 从60年代中期开始到20世纪末,软件行业得到了非常迅猛的发展,软件系统的规模和复杂度也越来越高,行业普遍面临不满足需求,永远无法交付等一系列严重的问题,史称"软件危机" 从长期积累的经验看,早期阶段的时间投入会影响到后期的经济支出,就是需求变化发生的…
2.5.1 MongoDB -- 介绍 mysql vs mongo 快速开始 mysql vs mongo 对比 mysql mongo 数据存储 table 二维表结构,需要预先定义结构 json 类文档,不需要预先定义结构.可随意新增或删除字段,新增字段不会对已存在的字段产生影响 查询语法 sql (structured query language) mongo 索引 如果不定义索引,则进行全表扫描 如果不定义索引,则进行全表扫描 集群 支持主从复制 内置副本集.分片.和自动选举 场景…
2.5.6 MongoDB -- 问答系统 MongoDB 数据库设计 API 实现概述 MongoDB 数据库设计 设计优化 内嵌(mongo)还是引用(mysql) 数据一致性 范式:将数据分散到不同的集合:反范式:使用内嵌文档 在范式化的情况下需要在进行多次查询再拼装数据,或者使用 lookup,即跨表查询:反范式化的情况下可以直接查出相关数据 更适合内嵌 更适合引用 子文档较小 子文档较大 数据不会定期改变 数据经常改变 最终数据一致即可 中间阶段数据必须一致 文档数据小幅增加 文档数据…
2.7.3 Scrum 团队 理想的环境 团队章程 如何组建 Scrum 团队 产品待办事项列表 用户故事 敏捷开发流程 理想的环境 5-9人 100% 跨职能 在一起 自组织 自组织 目标 授权 沟通 可视化 辅导 奖励 要我做 => 我想做,我要做,我要做好 团队章程 团队价值观:速度与工作时间 工作协议:例如:"就绪"定义,"完成"定义 基础规则:例如:会议规则 团队规范:迟到.冲突 坦诚.高效沟通 包容 相互帮助 简洁.反馈.尊重 如何组建 Scrum…