随笔分类 -  .NET应用框架架构

讨论基于.NET的应用程序开发框架架构设计实践经验
摘要:在大数据处理和人工智能时代,数据工厂(Data Factory)无疑是一个非常重要的大数据处理平台。市面上也有成熟的相关产品,比如Azure Data Factory,不仅功能强大,而且依托微软的云计算平台Azure,为大数据处理提供了强大的计算能力,让大数据处理变得更为稳定高效。由于工作中我的项目 阅读全文
posted @ 2021-08-22 20:08 dax.net 阅读(1467) 评论(2) 推荐(7) 编辑
摘要:在前面两篇文章中,我详细介绍了基本事件系统的实现,包括事件派发和订阅、通过事件处理器执行上下文来解决对象生命周期问题,以及一个基于RabbitMQ的事件总线的实现。接下来对于事件驱动型架构的讨论,就需要结合一个实际的架构案例来进行分析。在领域驱动设计的讨论范畴,CQRS架构本身就是事件驱动的,因此,我打算首先介绍一下CQRS架构下相关部分的实现,然后再继续讨论事件驱动型架构实现的具体问题。当然,C... 阅读全文
posted @ 2018-03-18 09:45 dax.net 阅读(2868) 评论(7) 推荐(10) 编辑
摘要:在上文中,我们讨论了事件处理器中对象生命周期的问题,在进入新的讨论之前,首先让我们总结一下,我们已经实现了哪些内容。下面的类图描述了我们已经实现的组件及其之间的关系,貌似系统已经变得越来越复杂了。其中绿色的部分就是上文中新实现的部分,包括一个简单的Event Store,一个事件处理器执行上下文的接口,以及一个基于ASP.NET Core依赖注入框架的执行上下文的实现。接下来,我们打算淘汰Pass... 阅读全文
posted @ 2018-02-04 09:46 dax.net 阅读(10446) 评论(24) 推荐(41) 编辑
摘要:在上文中,我介绍了事件驱动型架构的一种简单的实现,并演示了一个完整的事件派发、订阅和处理的流程。这种实现太简单了,百十行代码就展示了一个基本工作原理。然而,要将这样的解决方案运用到实际生产环境,还有很长的路要走。今天,我们就研究一下在事件处理器中,对象生命周期的管理问题。事实上,不仅仅是在事件处理器中,我们需要关心对象的生命周期,在整个ASP.NET Core Web API的应用程序里,我们需要... 阅读全文
posted @ 2018-01-11 20:33 dax.net 阅读(6184) 评论(18) 推荐(31) 编辑
摘要:很长一段时间以来,我都在思考如何在ASP.NET Core的框架下,实现一套完整的事件驱动型架构。这个问题看上去有点大,其实主要目标是为了实现一个基于ASP.NET Core的微服务,它能够非常简单地订阅来自于某个渠道的事件消息,并对接收到的消息进行处理,于此同时,它还能够向该渠道发送事件消息,以便订阅该事件消息的消费者能够对消息数据做进一步处理。让我们回顾一下微服务之间通信的几种方式,分为同步和... 阅读全文
posted @ 2017-12-21 22:10 dax.net 阅读(12123) 评论(21) 推荐(61) 编辑
摘要:最近因项目需要,我自己设计开发了一个基于Windows Forms的向导开发框架,目前我已经将其开源,并发布了一个NuGet安装包。比较囧的一件事是,当我发布了NuGet安装包以后,发现原来已经有一个.NET的向导开发框架了,它叫Microsoft Visual Studio 2013 Wizard... 阅读全文
posted @ 2015-07-01 10:08 dax.net 阅读(8284) 评论(28) 推荐(29) 编辑
摘要:Microsoft .NET为应用程序开发人员提供了丰富的处理配置数据的编程模型与类型库。拥有这些组件,开发人员及用户可以方便地在无需重新编译应用程序的情形下,通过对配置数据的设置,对应用程序的执行行为与结果进行干预,从而使得相同的应用程序能够在不改变源程序的情况下,满足不同应用场景的特殊需求。就应用程序框架而言,在大多数情况下,开发人员也需要能够对其进行配置,以便获得不同的框架功能特性。比如,我... 阅读全文
posted @ 2011-10-03 15:41 dax.net 阅读(6502) 评论(7) 推荐(5) 编辑
摘要:在此将《.NET应用框架架构设计实践》系列文章做一个目录列表,方便读者朋友们浏览阅读。.NET应用框架架构设计实践 - 概述.NET应用框架架构设计实践 - 为应用程序框架提供多样化的配置方式 阅读全文
posted @ 2011-07-28 08:47 dax.net 阅读(6592) 评论(4) 推荐(2) 编辑
摘要:我研究领域驱动设计已经近4年时间了,在这4年里,我从了解领域驱动设计的基本思想开始,系统地学习了与领域驱动设计相关的概念、开发模式以及应用系统架构风格,并将其运用在了实际的项目架构与开发中。在此之前,我一直被一些应用程序架构设计上的问题所困扰,比如:在数据持久层,如何让数据持久化机制能够支持不同的数据库类型,甚至是非关系型数据库;如何能够让开发人员将关注点放在领域模型上,而在更改领域模型的同时,不... 阅读全文
posted @ 2011-07-28 08:43 dax.net 阅读(18239) 评论(32) 推荐(23) 编辑