架构师修练 I - 超级代码控】的更多相关文章

可实现的是架构,空谈是概念 So don't tell me the concepts show me the code!  “不懂编码的架构师不是好架构师” 好架构师都是超级代码控.   代码是最好的老师   从代码中学习设计的思想.方法是提升类库设计能力.印证你所了解的概念与理论这就是架构师看代码的观点.   基本准备 一个类库可能有数千个类上万个方法,应该如何去看呢? 在看代码前我们需要进行一些什么样的准备呢 ?   设计模式 - 最标准的23种设计模式基本上要有一个了解,可能一下子不能理…
目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore:实现 default memory store DotNetNB.Security.ActionAccess:扫描 action:添加 action authorize filter:添加集成方式 代码实现 对于一个 web 项目,Filter 是在构建构建 builder 的时候添加的 builder.Services.AddControllers(options =>…
目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore:实现 default memory store DotNetNB.Security.EntityAccess:扫描 entities:添加 ef savechanges interceptor 代码实现 我们现在已经通过 ActionResourceProvider 完成了 action 的扫描,生成了 ResourceModel,需要持久化到 IResourceStor…
目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore:实现 default memory store DotNetNB.Security.Store.EntityFramework:基于 mysql 创建 PermissionStore 和 ResourceStore 代码实现 我们需要在 ResourceProviderHostedService 中读取所有的 Resource,将 Resource 转换为 Permiss…
目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore:实现 default memory store DotNetNB.Security.Identity:将权限赋予角色或用户:在用户登录时将 Permissions 写入用户身份 claims 代码实现 添加一个 Identity 的扩展,将 role 和 Permission 结合到一起 定义 IRolePermissionManager 接口,提供一个 AddRoleP…
目录 开发任务 代码实现 开发任务 DotNetNB.Security.Core:定义 core,models,Istore:实现 default memory store DotNetNB.WebApplication:创建 ResourceController 和 PermissionController 进行验证 代码实现 ResourceController PermissionController ResourceController 创建 ResourceController,通过…
目录 模块拆分 代码重构 模块拆分 代码重构 AuthenticationController PermissionController IAuthorizationMiddlewareResultHandler ISaveChangesInterceptor AuthenticationController 新增 AuthenticationController 用于登录和注册:登录会颁发 jwt token,包含用户的 claims 和 role 的 claims 登录 [HttpPost]…
开篇之前我想先说说当年开发的那点事儿:大约10年前吧,我还是一个程序员的时候经常都是遇到这样的项目开发流程: 解决方案 :满足客户目的和投标用的一堆文档(不少还是互联网上抄的) ,是以Word为主的纯文字. 投标完成和客户付订金后项目组成立,通常为(0至1)个项目经理或者叫项目负责人+(1至N)个程序员 的项目组模式 设计:由项目的头或者经验最足的成员参与编写设计.倒霉的时候我们会得到一份按照软件工程学的纯中文形式的设计想法(抱歉我只能这样来形容),而更糟的情况是得到一份完全看不懂的Rose文档…
文章大纲 一.架构师定义二.架构师分类与具备能力三.研发人员发展的技术路线四.架构师知识体系五.参考文章   一.架构师定义   什么是架构师,这个聊架构话题时永恒的问题.每个公司对架构师的定位也有所不同,因为不同公司所处的阶段,业务模式,应用场景也都不一样.对架构的要求也不一样.  在初创公司的野蛮生长阶段:业务场景和需求边界很难把握,有时候根本不需要架构师,产品需要快速迭代和变现,需求频繁更新,这个时候需要的是快速实现.当然如果公司成长以后,这个阶段就是欠下很多技术债,埋下很多坑,如果人员流…
前言 古老的MVC架构是容易被iOS开发者理解和接受的设计模式,但是由于iOS开发的项目功能越来越负责庞大,项目代码也随之不断壮大,MVC的模糊定义导致我们的业务开发工程师很容易把大量的代码写到视图控制器中,行业中对这种控制器有个专业词汇Massive ViewControler(臃肿的视图控制器).代码臃肿导致可读性可维护性差,而且这种不清晰的设计还有许多的副作用,比如代码重用性差.作为架构师需要关注项目的代码质量.指导业务开发工程师写出高质量,高健壮性,高可用的代码也是很重要的工作.因此需要…