Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

命令查询职责分离(CQRS)模式

命令查询职责分离(CQRS)模式

命令查询职责分离(CQRS)模式2016-03-17 cnblogs yangecnu在常用的三层架构中,通常都是通过数据访问层来修改或者查询数据,一般修改和查询使用的是相同的实体。在一些业务逻辑简单的系统中可能没有什么问题,但是随着系统逻辑变得复杂,用户增多,这种设计就会出现一些性能问题。虽然在DB上可以做一些读写分离的设计,但在业务上如果在读写方面混合在一起的话,仍然会出现一些问题。本文介绍了命令查询职责分离模式(Command Query Respo...
Elaine——一种以人物角色驱动探索架构重要型需求的方法

Elaine——一种以人物角色驱动探索架构重要型需求的方法

Elaine——一种以人物角色驱动探索架构重要型需求的方法2016-03-19 infoq Jane Cleland-Huang从涉众那里获得的需求,常常只描述了系统的预期功能,而不涉及性能、可靠性、可移植性和可用性等系统质量方面的需求。人们常常假定系统会按预期标准运行,而忽视将这些非功能性目标写入需求。不幸的是,涉众和开发者们会以为他们已经达成了共识,而实际上却有着不同的期望。若不能在系统设计之前充分理解这些质量上的需求,那么在系统交付之后,很可能出现涉...
泛型编程深入探索(一) 模版高级特性小结

泛型编程深入探索(一) 模版高级特性小结

泛型编程深入探索(一) 模版高级特性小结2016-03-19 cnblogs NicWEI一些基本的模版特性:非类参数模版模版所声明的参数可以不是类参数,可以声明的非类参数包括整数(double,float不可以),enum,对象引用或指针。通过模版嵌套实现类或非类参数载类方法参数上的重载(调用时实现,不在定义时实现)友元函数模版:直接举例:template <typename T>friend ostream& operator<...
泛型编程深入探索(二) 模板递归与可变参数模版

泛型编程深入探索(二) 模板递归与可变参数模版

泛型编程深入探索(二) 模板递归与可变参数模版2016-03-19 NicWEI 以构建一个n纬网格为例,讲述模板递归。首先是一个简单的一纬网格的实现,这个网格实现了规定长度的网格的实例化,并且能够在不同大小的网格类中自由的转型(通过模版嵌套的cast_ctr)(使用到的技术,非类型参数模版,模版嵌套,类模版特例化,模版友元函数)#include <cassert>#include <iostream>using namespace...
DDD领域驱动设计实践篇:如何提取模型

DDD领域驱动设计实践篇:如何提取模型

DDD领域驱动设计实践篇:如何提取模型2016-03-21 cnblogs 刘标才需求说明:省级用户可以登记国家指标省级用户和市级用户可以登记指标分解登记国家指标时,需要录入以下数据:指标批次、文号、面积,这里省略其他数据,下同登记指标分解时,需要录入以下数据:指标批次、文号、面积,以及可以选择多个市(市级登记的时候是县)的指标,每个市(县)的指标也是要输入批次、文号、面积登记指标分解时,一个指标批次不能选择多个相同的市(县)登记指标分解时,需要判断当前剩...
DDD领域驱动设计:聚合、实体、值对象

DDD领域驱动设计:聚合、实体、值对象

DDD领域驱动设计:聚合、实体、值对象2016-03-21 cnblogs 刘标才关于具体需求,请看前面的博文:DDD领域驱动设计实践篇之如何提取模型,下面是具体的实体、聚合、值对象的代码,不想多说什么是实体、聚合等概念,相信理论的东西大家已经知晓了。本人对DDD表示好奇,没有在真正项目实践过,甚至也没有看过真正的DDD实践的项目源码,处于极度纠结状态,甚至无法自拔,所以告诫DDD爱好者们,如果要在项目里面实践DDD,除非你对实体建模和领域职责非常了解(很...
DDD领域驱动设计:领域基础设施层

DDD领域驱动设计:领域基础设施层

DDD领域驱动设计:领域基础设施层2016-03-21 cnblogs 刘标才其实这里说的基础设施层只是领域层的一些接口和基类而已,没有其他的如日子工具等代码,仅仅是为了说明领域层的一些基础问题1、领域事件简单实现代码,都是来至ASP.NET设计模式书中的代码namespace DDD.Infrastructure.Domain.Events{public interface IDomainEvent{}}namespace DDD.Infrastruct...
DDD领域驱动设计:领域服务

DDD领域驱动设计:领域服务

DDD领域驱动设计:领域服务2016-03-21 cnblogs 刘标才什么是领域服务,DDD书中是说,有些类或者方法,放实体A也不好,放实体B也不好,因为很可能会涉及多个实体或者聚合的交互(也可能是多个相同类型的实体),此时就应该吧这些代码放到领域服务中,领域服务其实就跟传统三层的BLL很相似,只有方法没有属性,也就没有状态,而且最好是用动词命名,service为后缀,但是真正到了实践的时候,很多时候是很难区分是领域实体本身实现还是用领域服务区实现的,除...
编译原理之文法

编译原理之文法

编译原理之文法2016-03-23关于编译原理这块之前根本没有涉及过,这次要用到这里的知识就需要来接触一下这里的内容。编译原理顾名思义就是处理高级语言,使之称为计算机能够识别的语言(低级语言)的原理。而文法呢?就是用来描述程序设计语言的方法。类似佛法,用来描述佛家的诵经禅道的规则的。不用去纠结这个名字,知道这个含义,足以。文法概念终结符和非终结符如图:在p这个推导式的集合中,存在六个推导式。其中S、A、B为非终结符。a、b、c、d、q、p为终结符。终结符是...
软考题:多媒体

软考题:多媒体

软考题:多媒体2016-03-23声音三要素其实对于这个三个要素,只是人们在日常生活中对于声音的感觉。真正决定声音信号的参数是幅度和频率。音量声音的强弱,振幅决定音调声明的频率音色不同的材质决定,如:喇叭和小提琴常用音频范围采样某个时刻音频信号测量并记录的过程;也就是将模拟信号转换为数字信号的过程。(模拟信号是连续的,数字信息是随机的).在采样过程中通常会涉及到采样频率。如:每隔1ms采样一次,这样采样的频率为1KHZ。这样对于声音的品质就越好。音频大小计...
原码、反码和补码

原码、反码和补码

原码、反码和补码2016-03-23什么是数制?用来表示数值的规则,如十进制,二进制.机器数用二进制的形式来表示数;最高位为符号位,1表示负数,0表示正数.如: 1---->00000001;-1---->1000 0001真值从上面我们知道了机器数是计算机用来表示数的一种形式,但是用于最高位是符号位。这样就出现这样情况,1000 0001表示的真正数值为1,而不是129.这样我们把一个机器数表示的真正的实际的意义的值称之为真值。原码、反码、补...
软考题:网络互联设备

软考题:网络互联设备

软考题:网络互联设备2016-03-25互联硬件分为硬件的设备和用来传输数据的介质,而传输的设备又由于其所在的协议层不同而不同.分为物理层、数据链路层、网络层的设备。物理层中继器目的:扩展网络特点:成本低,但不能保证网络之间的安全中继器1.首先要保证每一个分支中的数据包和逻辑链路协议是相同的。例如,在802.3以太局域网和802.5之间,中继器是无法使它们通信的。2.中继器可以用来连接不同的物理介质,并在各种物理介质中传输数据包。它可以连接不同类型的介质。...
软考题:关系代数

软考题:关系代数

软考题:关系代数2016-03-25首先从宏观上来认识一下关系演算这个概念,换句话讲也就是什么是关系代数,这也是我在接触一些东西的首要工作。大家都知道对于关系型数据库的数据库操作语言分为查询和更新两类。而查询语言这块,又分为关系代数语言与关系演算语言。这里讲的就是关系代数。所以可以这样定义,关系代数就是为数据库操作语言进行查询的集合操作。关系代数中的操作可分为两类(1)传统的集合操作:并、差、交、笛卡儿积、除法。(2)扩充的关系操作:投影、选择、连接、。常...
工厂模式(factory pattern) 详解

工厂模式(factory pattern) 详解

工厂模式(factory pattern) 详解2016-03-25工厂方法模式: 定义了一个创建对象的接口, 但由子类决定要实例化的类是哪一个. 工厂方法让类把实例化推迟到子类.包括:创建者父类(creator), 包含创建对象的方法(代替new具体的对象, 通过参数创建不同的对象), 和一些基本的方法;具体创建者(concrete creator), 继承创建者父类, 实现创建对象的方法, 不同参数可以创建不同的对象;产品类父类(product), 包...
策略模式(Strategy Pattern) 详解

策略模式(Strategy Pattern) 详解

策略模式(Strategy Pattern) 详解2016-03-27 csdn博客 Spike_King策略模式: 定义了算法族, 分别封装起来, 让它们之间可以相互替换, 此模式让算法的变化独立于使用算法的客户.对于父类的子类族需要经常扩展新的功能, 为了使用父类比较灵活的添加子类, 把父类的行为写成接口(interface)的形式;使用set()方法, 重新设定接口的行为. 提供行为的调用的方法(如perform), 需要调用接口(interface...
装饰者模式(Decorator Pattern) 详解

装饰者模式(Decorator Pattern) 详解

装饰者模式(Decorator Pattern) 详解2016-03-27 csdn博客 Spike_King装饰者模式(Decorator Pattern):动态地将责任附加到对象上. 若要扩展功能, 装饰者提供了比继承更有弹性的替代方案.使用方法:1. 首先创建组件(Component)父类, 所有类,具体组件(Concrete Component)和装饰者(Decorator)都属于这一类型, 可以进行扩展;可以是抽象类(abstract class...
<< 51 52 53 54 55 56 57 58 59 60 >>