摘要: 原文地址 最近在研究在数据库中存储大数据文件,看到了FileStream 这个功能,记录下来以备后用 FileStream 一般在安装的时候默认是不启用的,如果你留意的话,在选择数据库文件路径那个窗口,有一个标签是“FileStream". 如果在安装的时候你没有启用,安装后可以通过以下设置来开启F 阅读全文
posted @ 2017-02-22 12:44 Ian.w 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 原文地址 SQL Server的一个不显眼的功能 备份文件的分割 当完整备份数据库的时候,我们有时候可能会遇到一种极端情况,比如服务器上C,D,E三个盘符都只剩下5G空间了 但是如果要完整备份业务库需要12G的空间,那么这时候怎么办呢? 使用文件组备份吗?但是数据库没有做表分区,没有分多个文件组,就 阅读全文
posted @ 2017-02-22 12:43 Ian.w 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 我们知道:软件开发一般分为五个阶段:分析、设计、编程、调试、部署和运行。编程阶段我们通常采用Java/.NET这样面向对象的 语言,使用面向对象的语言可以为我们带来很多设计上的好处。不过好多时候,在开发过程中我们会错误的使用面向对象语言,具体的表现就是用面向对象的语言来 编写过程式的代码。我们开发软件就是将现实世界的东西对应到计算机世界中,如何做好现实世界与计算机世界间的映射,是判断软件产品好坏的标准。目前,将需求从客观现实世界映射到计算机软件世界主要有两种方式:传统的数据库分析设计和面向对象建模(object-oriented class model) 在分析阶段,采用哪种建模方式决定了后面 阅读全文
posted @ 2013-10-10 10:43 Ian.w 阅读(3312) 评论(0) 推荐(1) 编辑
摘要: 我们做软件开发的人,经常听到的一个词“业务逻辑”,经典的三层架构:表示层、业务逻辑层、数据访问层。这里面还专门有个业务逻辑层,表示层和数据访问层我们能够清楚的知道其职责(表示层负责界面展示及用户交互,数据访问层负责数据的存放和取出)。我们可能会迷惑,对于数据操作集中的业务,多数的业务逻辑层就是对数据访问层的封装,业务逻基层具体负责什么?本文主要讲下业务逻辑以及领域驱动中对于业务逻辑的处理到底什么是业务逻辑呢。在了解业务逻辑前先来了解下业务业务百度百科给出的解释:“业务”更白话一些来说,就是各行业中需要处理的事务,但通常偏向指销售的事务,因为任何公司单位最终仍然是以销售产品、销售服务、销售技术等 阅读全文
posted @ 2013-05-21 09:24 Ian.w 阅读(991) 评论(0) 推荐(0) 编辑
摘要: 本文的主要讲的是领域驱动设计中,领域模型(实体,聚合,值对象)间的关系,实际上更为准确的应该是面向对象中的类间的关系。一、对象间的关系:1、依赖:唯物辨证法对事物间的联系做了如下论述:联系是指一切事物之间和事物内部各个要素之间的相互影响、相互制约和相互作用。联系是事物本身所固有的客观现象。世界上没有独立存在的事物,每一种事物都是和其他事物相联系而存在的,这是一切事物的客观本性。同样的道理,软件系统中的每个类,都要和其他的类发生某种联系,才得以存在。我们用依赖来描述2个类之间的联系。在系统中,如果一个类发生变化会引起另一个类发生变化则称这两个类之间存在(广义的)依赖关系。类间的依赖关系可以是结构 阅读全文
posted @ 2013-05-17 10:12 Ian.w 阅读(1298) 评论(0) 推荐(1) 编辑
摘要: 领域驱动设计中存在3种对象 DataTransformObject、ViewModel、DomainModelDataTransformObject(DTO) :DTO是表现层与application层传递的对象,此对象不包含行为,只是包含属性。此类传递到application后会通过automapper等类似的工具转化为DomainModel,因为DomainModel包含重要的业务逻辑,上层是不能之间访问到DomainModel。ViewModel:存在于表现层,如表现层使用asp.net mvc 此时的model 就是ViewModel,负责联系view和controller,一是vie 阅读全文
posted @ 2013-05-17 09:38 Ian.w 阅读(535) 评论(2) 推荐(0) 编辑
摘要: 转载自:http://www.cnblogs.com/xiaomi7732/archive/2011/07/30/2120626.html当使用WCF + Entity Framework时要小心,否则,很容易掉入各种陷阱。这里介绍两个在序列化时容易遇到的、会导致服务停止的陷阱。一、试图序列化Entity Proxy类而导致服务停止。二、序列化时出现死循环导致服务停止;无论掉入哪一个陷阱,在客户端都会看到这样的对话框(点击看大图):大致意思是会说:服务不在线或者客户端配置有问题或者Proxy类有问题。而如果跟着Error Details里的第一行Google,会找到许多文章关于调整数据缓存大小 阅读全文
posted @ 2013-05-13 10:42 Ian.w 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 以前的设计首先我们回顾下以前我们设计系统的做法。在过去,我们的应用程序架构一直以数据为中心。我们的核心是围绕数据库展开的,首先我们会建立数据库,建立一系列的数据表,数据库表之间的主外键关系表述整个系统中的对象之间的关系。数据表中的一行数据来表述一个对象。然后我们会依次建立数据访问层、业务逻辑层、表现层。如下图所示注:此图来源 http://www.cnblogs.com/daxnet/archive/2010/07/07/1772584.html注意图中打虚线的“基础结构层”,从实践的表现上来看,这部分内容可能就是一些帮助类,比如 SQLHelper之类的,也可能是一些工具类,比如TextUt 阅读全文
posted @ 2013-05-07 10:03 Ian.w 阅读(1002) 评论(0) 推荐(0) 编辑
摘要: 实体(Entity)具有惟一标识的领域对象。通过标识来区分不同的实体。实体具有惟一性。注:领域就是特定的问题域 如 订单领域 商品领域,是描述事物的一个模型值对象(Value Object)和实体不同,值对象没有标识。不需要跟踪值对象的标识和值对象状态的维护,值对象非常容易创建和丢弃。大多数的时候,值对象只包含数据,不包含行为。值对象最好是不可变的,也就是说,值对象用一个构造函数创建,所有的属性都是只读的,不需要维护值对象的状态。不可变的值对象是可以共享的。区分实体和值对象的准则:关心对象的标识,对象是惟一的,则为实体。聚合(Aggregate)通过定义对象之间的清晰的所属关系和边界来实现领域 阅读全文
posted @ 2013-04-27 09:24 Ian.w 阅读(442) 评论(1) 推荐(0) 编辑
摘要: 在开发企业应用的时候,特别是涉及到敏感数据的应用,如财务系统、物流系统,我们往往会有这样的需求:对于数据库中的每一条记录的变更,都要有一个明确的日志,记录数据的变更人、时间、变更的内容。 本文我们来处理这个问题。 假定我们在做的是一个电子商务的项目,项目中的商品信息比较重要,商品的更改需要记录日志。 首先我们来看下商品的实体组成,假定商品是由 商品基本信息 商品详细信息 商品付款方式 商品联... 阅读全文
posted @ 2013-02-07 10:07 Ian.w 阅读(407) 评论(0) 推荐(1) 编辑