系统架构
文章平均质量分 78
Phil Arist
迎着风 一直跑
展开
-
什么是单点登录?怎么样实现单点登录
什么是单点登录?怎么样实现单点登录原创 2022-10-12 11:12:48 · 1257 阅读 · 0 评论 -
将现有 电商应用部署到 Azure Kubernetes 服务 (AKS)
将现有 电商应用部署到 Azure Kubernetes 服务 (AKS)原创 2022-09-16 13:55:56 · 470 阅读 · 0 评论 -
整体记录一下asp.net core 认证和授权
整体记录一下asp.net core 认证和授权原创 2022-09-13 15:34:15 · 851 阅读 · 0 评论 -
什么是微服务?
什么是微服务?原创 2022-09-13 10:58:47 · 511 阅读 · 0 评论 -
利用Common.Logging+log4net使日志管理规范
Common.Logging+log4net使日志管理规范原创 2022-09-05 14:54:29 · 465 阅读 · 0 评论 -
ASP.NET 身份认证框架 Identity - 通过邮件重置密码
ASP.NET 身份认证框架 Identity - 通过邮件重置密码原创 2022-08-13 12:42:50 · 763 阅读 · 0 评论 -
ASP.NET 身份认证框架 Identity - 登录与登出
ASP.NET 身份认证框架 Identity - 登录与登出原创 2022-08-09 15:31:17 · 1229 阅读 · 0 评论 -
ASP.NET 身份认证框架 Identity - 用户注册
ASP.NET 身份认证框架 Identity - 用户注册原创 2022-08-08 15:09:33 · 750 阅读 · 0 评论 -
从实际业务出发,浅显的聊聊如何理解领域驱动设计
前言什么是领域,我习惯描述的是制药领域、环境领域、建筑领域、金融领域等,而在领域内,各种业务规则、业务知识盛行,如何有效的把控规则的变化,应对复杂知识,有一个很关键的四字词语,分而治之。分治法在很多场景下体现了其强大的作用力。领域本身很大,那就拆分,得到更小的领域,也即子域,如同递归调用一般,将一个复杂问题拆分单独求解,而最终将解汇总得到复杂问题解。怎么拆,拆成怎么样合适,依据什么拆,这些在领域驱动设计中有了一套答案,虽然领域驱动设计不是银弹,但可以说的上是一套极好的系统方法论或称为架构设计的方法论原创 2022-01-28 10:51:03 · 265 阅读 · 0 评论 -
领域驱动开发实践之路:我们是如何从领域驱动开发当中获益的
领域驱动设计,遇见你之前我们公司推行和实践敏捷已经很多年了,SCRUM已经成功应用于大部分项目,得益与业界敏捷开发大师以及国内很多优秀工程师的分享和宣传,我们使用了很多优秀的软件开发实践,比如测试驱动开发(TDD),行为驱动开发(BDD), 持续集成(CI)等等为我们带来了很多收益。由于我们公司以做项目为主,虽然这些软件实践确实能很好的提高软件交付质量和效率,但是要想用好这些实践,涉及到的因素很多,常见的如下: Scrum里需要Product Owner, 客户方很少能有一个比较符合Scrum里提原创 2021-09-07 15:25:26 · 254 阅读 · 0 评论 -
领域驱动设计系列 (六):CQRS
CQRS是Command Query Responsibility Seperation(命令查询职责分离)的缩写。 世上很多事情都比较复杂,但是我们只要进行一些简单的分类后,那么事情就简单了很多,比如我们把人分为男人和女人,也可以把人分为大人和小孩,还比如,我们说国内和国外,城市和农村。经过一些类似这样的划分,我们的对不同的类就有不同的关注。 这样我们就会有妇女儿童医院专门让女人生孩子,而不会建一个医院让男女都生孩子。CRUDCRUD (Create, Read, Update, Delete)原创 2021-09-07 15:24:35 · 159 阅读 · 0 评论 -
领域驱动设计系列 (五):事件驱动之异步事件
前言上一篇讲了事件,以及为什么要使用事件,主要是为了解耦,但是有同学就问了,同步如果订阅事件的人太多,比如13亿人都关心上头条的事,那么RaiseEvent得等13亿人都处理完,那得多久呀,从此再也不敢发事件了。举个例子,你在网上下单,下完单要通知库房,甚至要通知供应商补货,如果都是同步的话,消费者还不等急死呀,实际上你在电商网站上下个单, 一般你很快就能到订单页面,那个页面告诉你:“兄弟,订单已经创建成功,订单号是xxxxx-xxxxx-xxxx-xxxx,你的订单已经提交到库房” 等。然后你就很快原创 2021-09-07 15:23:27 · 224 阅读 · 0 评论 -
领域驱动设计系列 (四):事件驱动下
前言上一篇说到为什么要使用事件驱动,但是只有概念是不够的,我们要代码呀!记得脸书的老总说过: "Talk is cheap, Show me the code!"实现思路发出事件事件顾名思义就是一件事情发生了,比如我要上头条,这不是一个事件,这事一个Command, HeadCommand, 而我上头条了这就是一个事件HeadedEvent,事件就是一件事情已经发生了。 好,先来一个伪代码 public void Head() { var NewsPaper原创 2021-09-07 15:22:41 · 98 阅读 · 0 评论 -
领域驱动设计系列(三):事件驱动上
前言今天讲一下事件驱动,这个不是领域驱动设计里的事件源(Event Source), 这个以后再讲,今天主要讲一下如何用事件来解耦,主要的原因是我们有个项目有个功能我觉得用事件的方式比较好,正好写篇博客,就不用专门给他们讲了。解耦说到解耦,我们很熟悉分层设计,比如上层依赖于抽象,不依赖于具体的实现。比如一个类使用另一个类,我们使用接口而不直接使用实现类。 public EquipmentService(IEmailService emailService, IEquipmentReposi原创 2021-09-07 15:21:13 · 212 阅读 · 0 评论 -
领域驱动设计系列(二):领域模型
前言领域驱动设计里有很多东西,我们可以应用在各种各样的开发模式里,所以接下来说的一些东西,我们可以部分使用。说道领域驱动的领域,大家肯定就要开始说Bounded Context,聚合,聚合根,容易让大家搞糊涂。 我觉得先抛开这些概念,后面再来说如何设计聚合,先简单来说。模型过去,我们在多层设计里定义了很多Model, 数据库的Model(DB Entity), 然后为了不依赖数据库,我们有设计了业务的Domain Model, 同时我们又设计了ViewModel, 这样一般也没什么问题,职责原创 2021-09-07 15:20:31 · 298 阅读 · 0 评论 -
领域驱动设计系列(一):为何要领域驱动设计?
前言领域驱动设计最近貌似开始火起来了,越来越多的人开始认识到领域设计的重要性,从我做过的项目来看,似乎欧洲已经有很多的公司开始实施领域驱动设计了,我看领域驱动设计也有些时间了,但是网上不管是文章还是代码,都显得太过“高大上”,一谈领域驱动设计,一大堆的概念一股脑的给你上上来,搞的有点晕头转向,而我想在一些中小项目实施领域驱动也遇到了不小的障碍,大家对很多东西都处于一种恐惧的状态,而且在正真开始实施时,也遇到一些疑问,所以也想和大家交流学习,因此开始在此写写对领域驱动的理解,后面会有一些轻量的演进代码。原创 2021-09-07 15:19:41 · 202 阅读 · 0 评论 -
何时使用领域驱动设计(DDD)
何时使用领域驱动设计?其实当你的应用程序架构设计是面向业务的时候,你已经开始使用领域驱动设计了。领域驱动设计既不是架构风格(Architecture Style),也不是架构模式(Architecture Pattern),它也不是一种软件开发方法论,所以,是否应该使用领域驱动设计,以及什么时候使用领域驱动设计,这个问题本身就比较复杂(或者说这并不是一个好问题)。或许,更精确的提问方式应该是:“我应该选择什么样的架构风格来构建我的系统?”。现在我们先不急着回答这个问题,还是回到领域驱动设计的话题上,来回顾一原创 2021-08-27 13:39:05 · 307 阅读 · 0 评论 -
DDD的 兴起,解决难题与实现基本步骤
领域驱动设计DDD三种技术架构的演进以及主要区别:第一阶段是单机架构,特征是整个开发围绕着数据库进行设计和开发。第二个阶段是三层式的集中式架构,采用面向对象的设计方法,业务逻辑分业务层、逻辑层、数据访问层,这种架构很容易某一层或者几层变得臃肿,扩展性较差, 另外摩尔定律失效, 单台机器性能有限。第三层阶段是微服务架构,在集中式架构中, 系统分析、设计和开发往往是独立进行的,而且各个阶段负责人可能不一样,那么就涉及到交流信息丢失的问题, 另外项目从分析到开发经历的流程很长,很容易最终开发设原创 2021-08-26 17:01:53 · 304 阅读 · 0 评论