随笔分类 - 设计模式
摘要:“其实地上本没有路,走的人多了,也便成了路”——鲁迅《故乡》 这句话很好的描述了设计模式的由来。前辈们通过实践和总结,将优秀的编程思想沉淀成设计模式,为开发者提供了解决问题的思路。除此之外,设计模式还是开发者之间沟通的桥梁,是程序员的语言,比如我说这段代码用的是单例模式,你就知道它的基本实现和用法。
阅读全文
摘要:MediatR是一款进程内的消息订阅、发布框架,提供了Send方法用于发布到单个处理程序、Publish方法发布到多个处理程序,使用起来非常方便。目前支持 .NET Framework4.5、.NET Stardand1.3、.NET Stardand2.0等版本,可跨平台使用。 使用MediatR
阅读全文
摘要:今天我们来分析另一个开源的CQRS+ES项目:Equinox。该项目可以在github上下载并直接本地运行,项目地址: "https://github.com/EduardoPires/EquinoxProject" ,该项目是基于 .net core 2.2的,开发语言、编码方式比Diary.CQ
阅读全文
摘要:在《 "当我们在讨论CQRS时,我们在讨论些神马" 》中,我们讨论了当使用CQRS的过程中,需要关心的一些问题。其中与CQRS关联最为紧密的模式莫过于Event Sourcing了,CQRS与ES的结合,为我们构造高性能、可扩展系统提供了基本思路。本文将介绍 Kanasz Robert在《 "Int
阅读全文
摘要:当我写下这个标题的时候,我就有些后悔了,题目有点大,不太好控制。但我还是打算尝试一下,通过这篇内容来说清楚CQRS模式,以及和这个模式关联的其它东西。希望我能说得清楚,你能看得明白,如果觉得不错,右下角点个推荐! 先从CQRS说起,CQRS的全称是Command Query Responsibili
阅读全文
摘要:关于CQRS,在实现上有很多差异,这是因为CQRS本身很简单,但是它犹如潘多拉魔盒的钥匙,有了它,读写分离、事件溯源、消息传递、最终一致性等都被引入了框架,从而导致CQRS背负了太多的混淆。本文旨在提供一套简单的CQRS实现,不依赖于ES、Messaging等概念,只关注CQRS本身。 CQRS的本
阅读全文
摘要:原文链接:CAP 定理的含义 作者: 阮一峰 日期: 2018年7月16日 作者: 阮一峰 日期: 2018年7月16日 分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的。 分布式系统的最大难点,就是各个节点的状态如何同步。CAP 定理是这方面的基本定理,
阅读全文
摘要:原文链接:https://www.cnblogs.com/yangecnu/p/Introduction-CQRS.html 在常用的三层架构中,通常都是通过数据访问层来修改或者查询数据,一般修改和查询使用的是相同的实体。在一些业务逻辑简单的系统中可能没有什么问题,但是随着系统逻辑变得复杂,用户增多
阅读全文
摘要:本文介绍AOP编程的基本概念、Castle DynamicProxy(DP)的基本用法,使用第三方扩展实现对异步(async)的支持,结合Autofac演示如何实现AOP编程。 AOP 百科中关于AOP的解释: AOP为Aspect Oriented Programming的缩写,意为:面向切面编程
阅读全文
摘要:http://www.cnblogs.com/shanyou/archive/2009/09/21/1570716.html S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。 单一责任原则: 当需要修改某个类的时候原
阅读全文
摘要:适可而止:You Ain’t Gonna Need It YAGNI原则指的是只需要将应用程序必需的功能包含进来,而不要试图添加任何其他你认为可能需要的功能。 在一个软件项目中,往往80%的时间花费在20%的功能上。 当你准备列出一个项目清单时,试着考虑以下问题: 通过降低抽象的层级,来实现低复杂度 根据特性将功能独立出来 适度接受非功能性需求 识别耗时的任务,并摆脱它们这些原...
阅读全文
摘要:DRY——Don't Repeat Yourself Principle,直译为“不要重复自己”原则 DRY简而言之,就是不要写重复的代码。原则本身很简单,但是,对于OOAD(面向对象的分析和设计)来说,有着非常重大的意义。 DRY利用的方法就是抽象:把共同的事物抽象出来,把代码抽取到一个地方去。这样就可以避免写重复的代码。 举一个DRY的典型例子,如果在一个类构造的时候,需要进行成员的初始化,在...
阅读全文
摘要:S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。 单一责任原则: 当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。换句话说就是让一个类只做一种类型责任,当这个类需要承当其他类型的...
阅读全文
摘要:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。
阅读全文
摘要:简单工厂模式确实有足够的简单,将父类的引用指向子类的对象,并将子类的创建过程交给工厂类来完成。
阅读全文
摘要:Prototype(原型模式):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
阅读全文