架构设计分享之权限系统
摘要:架构设计分享之权限系统(看图说话)2014-08-31 22:41 by 圣殿骑士,3049阅读,62评论,收藏,编辑前面一篇文章《最近架构随想》,我提到架构设计的一些构想,其实也是对之前项目经验的一些归纳及总结。今天我们就以权限系统作为切入点,谈一谈怎么设计权限系统以及怎么做到系统具有以下特性:O...
阅读全文
适当使用活动记录模式代替领域模型模式
摘要:适当使用活动记录模式代替领域模型模式阅读目录:1.背景介绍2.简单介绍领域模型模式、活动记录模式3.活动记录模式的简单示例及要点4.总结1.背景介绍对软件开发方法论有兴趣的博友应该发现最近“领域驱动设计”慢慢的被人发现被人实践起来,园子里也慢慢有了DDD的学习气氛和宝贵实战经验的分享。其实之前我也痴...
阅读全文
企业管理系统集成
摘要:企业管理系统集成我们处于恶性循环中,不能自拔 我们在努力,一直在努力向前奔跑,但随着日积月累的承载,我们跑不动了,并不是我们偷懒了,而是我们肩负着太多、太多。该停下来,停下来思考了。 部门经理来了,怎么回事?为什么系统又奔溃了,你们的年终奖别想要了。该停下来,停下来思考了。 客服反应,你们的系...
阅读全文
架构设计与演化
摘要:前端的架构设计与演化实例前言本文介绍我在实际的前端项目中的架构设计,展示因为需求变化而导致架构变化的过程。全文分为三个阶段,分别对应三次需求的变化,给出了对应的架构设计。在第一个阶段中,我使用面向过程设计;在第二个阶段和在第三个阶段中,我使用面向对象设计。本文内容策略依赖项第一个阶段需求架构设计项目...
阅读全文
DDD领域驱动设计之领域基础设施层
摘要:DDD领域驱动设计之领域基础设施层1、DDD领域驱动设计实践篇之如何提取模型2、DDD领域驱动设计之聚合、实体、值对象其实这里说的基础设施层只是领域层的一些接口和基类而已,没有其他的如日子工具等代码,仅仅是为了说明领域层的一些基础问题1、领域事件简单实现代码,都是来至ASP.NET设计模式书中的代码...
阅读全文
查询职责分离(CQRS)模式
摘要:查询职责分离(CQRS)模式在常用的三层架构中,通常都是通过数据访问层来修改或者查询数据,一般修改和查询使用的是相同的实体。在一些业务逻辑简单的系统中可能没有什么问题,但是随着系统逻辑变得复杂,用户增多,这种设计就会出现一些性能问题。虽然在DB上可以做一些读写分离的设计,但在业务上如果在读写方面混合...
阅读全文
模型构建
摘要:模型构建 承前:大型系统的支撑,应用系统开发思想的变迁,DDD实践切入点(一),DDD实践切入点(二) 上回已经分完了上下文,其中很明显流程部分使用工作流引擎就差不多了,所以需要重点关注的工作就是申请单管理的上下文。到现在差不多可以开始结合具体情况和目标来设计申请单的模型了。 这个模型需要满足...
阅读全文
表模块模式与事务脚本模式的代码编写
摘要:.NET应用架构设计—表模块模式与事务脚本模式的代码编写阅读目录:1.背景介绍2.简单介绍表模块模式、事务脚本模式3.正确的编写表模块模式、事务脚本模式的代码4.总结1.背景介绍要想正确的设计系统架构就必须能正确的搞懂每个架构模式的用意,而不是胡子眉毛一把抓。现在有一个现象是什么呢,项目的结构从表面...
阅读全文
应用层代码
摘要:应用层代码,你能接受吗?写在前面关于“Repository 仓储,你的归宿究竟在哪?”这个系列,本来是想写个上下篇,但是现在觉得,很有多东西需要明确,我也不知道接下来会写多少篇,所以上一篇的标题就改成了《Repository 仓储,你的归宿究竟在哪?(一)-仓储的概念》,在这篇博文中,主要讲了仓储的...
阅读全文
DDD实践2
摘要:DDD实践切入点(二)承前:大型系统的支撑,应用系统开发思想的变迁,DDD实践切入点(一) 从大比例结构入手已经开始了系统的建设,大家都知道需求是会不断变化不断深入的,刚开始自然是模糊的大比例结构对将要进行的系统有一个初步的认识,在不断细化的过程中明确需求。前一篇中粗略的对主要的问题进行了描述,可...
阅读全文
一种通用查询语言的定义与实践
摘要:一种通用查询语言的定义与实践最近发现在项目中或许会遇到让用户自己构建查询表达式的情况。比如需要通过一种可配置的界面,来让用户输入一组具有逻辑关系的查询表达式,然后根据这个查询表达式来过滤并返回所需要的数据。这种用户案例其实非常常见。由此受到启发,或许我们可以自己定义一种通用的面向查询的领域特定语言(...
阅读全文
基于.NET Socket Tcp的发布-订阅框架
摘要:基于.NET Socket Tcp的发布-订阅框架一、分布式消息总线 在很多MIS项目之中都有这样的需求,需要一个及时、高效的的通知机制,即比如当使用者A完成了任务X,就需要立即告知使用者B任务X已经完成,在通常的情况下,开发人中都是在使用者B所使用的程序之中写数据库轮循代码,这样就会产品一个很严重...
阅读全文
四色原型模式(彩色建模、领域无关模型)(概念版)
摘要:四色原型模式(彩色建模、领域无关模型)(概念版)阅读目录:1.背景介绍2.问自己,UML对你来说有意义吗?它帮助过你对系统进行分析、建模吗?3.一直以来其实我们被一个缝隙隔开了,使我们对OOAD遥不可及4.四色原型模式填补这个历史缝隙,让我们真的看见OOAD的希望5.在四色原型上运用彩色建模增强视觉...
阅读全文
Entity Framework 与 面向对象
摘要:Entity Framework 与 面向对象 说要分享,我了个*,写了一半放草稿箱了两个星期都快发霉了,趁着周末写完发出来吧。 文章分为五部分:基础、类讲述的是用到的一些EF与面向对象的基础;业务是讲怎么划分设计业务;设计模式和工作模式讲述了在项目中用得比较多的通用的方法;最后的项目迭代这次怎...
阅读全文
MEF插件系统中通信机制的设计和实现
摘要:MEF插件系统中通信机制的设计和实现1.背景一般的WinForm中通过C#自带的Event机制便能很好的实现事件的注册和分发,但是,在插件系统中却不能这么简单的直接用已有的类来完成。一个插件本不包含另外一个插件,它们均是独立解耦的,实现插件和插件间的通信还需要我们设计出一个事件引擎来完成这个需求。目...
阅读全文
用CQRS+ES实现DDD
摘要:用CQRS+ES实现DDD这篇文章应该算是对前三篇的一个补充,在写之前说个题外话,有园友评论这是在用三层架构在写DDD,我的个人理解DDD是一种设计思想,跟具体用什么架构应该没有什么关系,DDD也需要分层,也有三层架构的影子在里面。三层架构主要是表现层、业务层和数据层,而DDD已经没有数据层,三层结...
阅读全文
Unit of work + Repository
摘要:(Unit of work + Repository)今日后开启进阶模式! 谈到MVC与EntityFramework,则不得不说一说事务与仓储(Unit of work + Repository)。 仓储(Repository):领域对象集合。用于操作领域对象与数据库上下文(DbContext...
阅读全文
基于MEF的插件框架之总体设计
摘要:基于MEF的插件框架之总体设计1.MEF框架简介MEF的全称是Managed Extensibility Framework(MEF),其是.net4.0的组成部分,在3.5上也可以使用。熟悉java中的spring框架的人,对这个框架中涉及的几个概念应该会比较容易理解。这里我先把我两年多前的一个完...
阅读全文
开始DDD
摘要:如何开始DDD(完)连续写了两篇文章,这一篇我想是序的完结篇了。结合用户注册的例子再将他简单丰富一下。在这里只添加一个简单需求,就是用户注册成功后给用户发一封邮件。补充一下之前的代码public class DomainService{ public void Register(User us...
阅读全文
Spring.NET学习
摘要:Spring.NET学习笔记——目录(原) 目录 前言 Spring.NET学习笔记——前言 第一阶段:控制反转与依赖注入IoC&DI Spring.NET学习笔记1——控制反转(基础篇) Level 200 Spring.NET学习笔记2——环境搭建(基...
阅读全文