随笔分类 - 【011】.NET 云原生架构师训练营
摘要:目录 为什么我们用 Orleans Dapr VS Orleans Actor 模型 Orleans 的核心概念 结合 OP Storming 的实践 结合 OP Storming 的实践 业务模型 设计模型 代码实现 代码实现 HelloOrleans.Host Orleans.Providers
阅读全文
摘要:目录 为什么我们用 Orleans Dapr VS Orleans Actor 模型 Orleans 的核心概念 结合 OP Storming 的实践 结合 OP Storming 的实践 业务模型 设计模型 代码实现 业务模型 我们可以把关键对象(职位、客户行为记录、线索)参考为 actor 猎头
阅读全文
摘要:目录 为什么我们用 Orleans Dapr VS Orleans Actor 模型 Orleans 的核心概念 为什么我们用 Orleans 分布式系统开发、测试的难度(服务发现、通信) 运维的复杂度(伸缩性与可靠性的保障) actor 拥有全局唯一身份 自动伸缩功能 Dapr VS Orlean
阅读全文
摘要:目录 模块拆分 EntityAccess 模块拆分 EntityAccess 实体权限 属性权限 实体权限 创建 student https://localhost:7018/Student/dotnetnb2 获取 student https://localhost:7018/Student 对
阅读全文
摘要:目录 模块拆分 环境配置 默认用户 ActionAccess 模块拆分 环境配置 mysql migration mysql docker pull mysql docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root@dotn
阅读全文
摘要:目录 模块拆分 代码重构 模块拆分 代码重构 AuthenticationController PermissionController IAuthorizationMiddlewareResultHandler ISaveChangesInterceptor AuthenticationContr
阅读全文
摘要:目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore;实现 default memory store DotNetNB.WebApplication:创建 ResourceController 和 PermissionContr
阅读全文
摘要:目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore;实现 default memory store DotNetNB.Security.Identity:将权限赋予角色或用户;在用户登录时将 Permissions 写入用户身
阅读全文
摘要:目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore;实现 default memory store DotNetNB.Security.Store.EntityFramework:基于 mysql 创建 PermissionS
阅读全文
摘要:目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore;实现 default memory store DotNetNB.Security.EntityAccess:扫描 entities;添加 ef savechanges in
阅读全文
摘要:目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore;实现 default memory store DotNetNB.Security.ActionAccess:扫描 action;添加 action authorize fi
阅读全文
摘要:目录 目标 模块拆分 OPM 开发任务 目标 基于上一讲的模块划分做一个任务拆解,根据任务拆解实现功能 模块拆分 模块划分已经完成了边界的划分,边界内外职责清晰 OPM 根据模块拆分画出 OPM(Object Process Methodology) ActionAccess 模块中的 Action
阅读全文
摘要:目录 项目核心内容 实战目标 RGCA 四步架构法 项目核心内容 无代码埋点实现对所有 API Action 访问控制管理 对 EF Core 实体新增、删除、字段级读写控制管理 与 Identity 进行融合集成 实战目标 RGCA 四步架构法的应用 加深对 OPM 和 OPD 的运用 为毕业设计
阅读全文
摘要:目录 目标 源码 目标 理解 KestrelServer 如何接收网络请求,网络请求如何转换成 http request context(C# 可识别) 源码 https://github.com/dotnet/aspnetcore/ 在目录 aspnetcore\src\Servers\Kestr
阅读全文
摘要:目录 模板方法 源码 建造者 模板方法 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤 源码 https://github.com/dotnet/aspnetcore/ 在目录 aspnetcore\src\Mvc\Mvc.Cor
阅读全文
摘要:目录 引入 组合模式 源码 引入 在上一篇执行 _connectionDelegate 之后,HttpConnectionMiddleware 处理请求 return connection.ProcessRequestsAsync(_application); 在 HttpConnection 中调
阅读全文
摘要:目录 责任链模式 源码 责任链模式 职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无需关心请求的处理细节和请求的传递,所以职责链将请求的发送者和请求的处理者解耦了 何时使用:在处理消息的时候以过滤很多道 使用场景: 有多个对象可以处理同一个请求,具体到哪个对象处理该请求由运行时刻
阅读全文
摘要:目录 设计原则 设计模式 设计原则 DRY (Don't repeat yourself 不要重复) KISS (Keep it stupid simple 简单到傻子都能看懂) YAGNI (You Aren't Gonna Need It 你不会需要它的) CCP 共同闭包 CRP 共同复用 高
阅读全文
摘要:演化与完善整体概念 ASP .NET Core 整体概念推演 整体概念推演到具体的形式 ASP .NET Core 整体概念推演 ASP .NET Core 其实就是通过 web framework 处理 HTTP 请求并提供 HTTP 响应 web framework 由程序员使用,它包括 ASP
阅读全文
摘要:RGCA Requirement:从利益相关者获取需求 Goal:将需求转化为目标(功能意图) Concept:将目标扩展为完整概念 Architecture:将概念扩展为架构 目录 从利益相关者获取需求 将需求转化为目标 将目标扩展为完整概念 从利益相关者获取需求 有哪些类型的利益相关者 利益相关
阅读全文