摘要:这篇随笔由于出差拖了很久,一时也没整理好该写些什么。在google搜了下“存储过程 优劣”关键字,资料并不多,出现了一篇关于来至51cto的关于存储过程的优缺点的文章,具体这里也不指出了。看见文章中对存储过程的几个辩解,个人不敢苟同,个人已经很仔细的看了文章的时间是2011年,如果在更前写年成的话,个人觉得完全能够理解。所以有了这篇,存储过程的一些传言。 1:存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 在sql server 2000版本,这个观点没错,却是如此。但是在sql ser... 阅读全文
分享一段PowerShell用户认证Function
2012-06-09 22:29 by 破狼, 2137 阅读, 3 推荐, 收藏, 编辑
摘要:在最近工作中遇到对用户验证,需要根据用户名和密码验证用户是否合法。在外文网站找到的这段代码,在这里分享给大家,如果你也需要用户验证的话,那么可以直接copy使用,现在没地方用,也可以收藏备用,1FunctionTest-UserCredential{23[CmdletBinding()][OutputType([System.Boolean])]45param(67[Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()]89[System.String]$Username,1011121314[Parameter(Mandatory=$tr. 阅读全文
PowerShell强大管道
2012-06-09 15:34 by 破狼, 7606 阅读, 3 推荐, 收藏, 编辑
摘要:PowerShell是在Window是的外壳语言,提供了多Windows的更多操作,让我们于windows的操作更简单方便,以及就是就是管理员的命令行更好的管理。PowerShell提供了与.net FCL(.net类库)的操作性,我们可以利用强大的.net FCL在PowerShell中。PowerShell提供强大的管道模型,管道指的是一个命令的输出可以利用操作符(|)方便的传递到下个命令作为输入。PowerShell不同传统管道模型的是它是一门基于对象的管道流,即在命令之间传递的对象不是简单的文本。下面我们就以本地文件操作来实践PowerShell的管道常见命令: 1:集合遍历Fo... 阅读全文
架构设计目录
2012-06-06 08:11 by 破狼, 5219 阅读, 5 推荐, 收藏, 编辑
摘要:架构引用维基百科:软件体系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础。从和目的、主题、材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟。一个软件架构师需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计。软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑和流程。 软件架构师与客户商谈概念上的事情,与经理商谈广泛的设计问题,与软件工程师商谈创新的结构特性,与程序.. 阅读全文
架构设计-数据访问层简述
2012-06-05 00:13 by 破狼, 11704 阅读, 6 推荐, 收藏, 编辑
摘要:在前面简单描述了下服务层,SOA面向服务架构,架构设计-业务逻辑层,以及一些面面向设计原则理解和软件架构设计箴言。这篇博客我们将继续进入我们的下一层:数据访问层。无论你用的是什么开发模式或者是业务模式,到最后最必须具有持久化机制,持久化到持久化介质,并能对数据进行读取和写入CRUD。这就是数据访问层。你可能是利用xml等文件格式磁盘存储,常用的关系数据库存储,或者NoSql(not only sql)的内存存储或文档存储等等存储介质。而这里我只关心关系数据库存储。 数据层需要提供的职责有: 1:CRUD服务。作为唯一可以与存储介质交互的中间层出现,负责业务对象的增加,修改,删除,加载... 阅读全文
软件架构设计箴言理解
2012-06-02 21:30 by 破狼, 13976 阅读, 11 推荐, 收藏, 编辑
摘要:今天和师弟聊天聊到他们项目开发,有些同事总是提前考虑性能优化,需求变更又是一大堆的重写,让我想起了Donald Knuth 提到的:对软件的过早地优化是万恶的根源。这里就简单的说几条重要的软件名人哲学。1:软件中唯一不变的就是变化。 在软件开发过程中需求是不停的变化,随着客户对系统的认识,和现有开... 阅读全文
架构设计-业务逻辑层简述
2012-05-29 23:14 by 破狼, 13680 阅读, 9 推荐, 收藏, 编辑
摘要:业务逻辑层是专门处理软件业务需求的一层,处于数据库之上,服务层之下,完成一些列对Domain Object的CRUD,作为一组微服务提供给服务层来组织在暴露给表现层,如库存检查,用法合法性检查,订单创建。 业务逻辑层包含领域对象模型,领域实体,业务规则,验证规则,业务流程。1:领域对象模型为系统结构描述,包含实体功能描述,实体之间的关系。领域模型处于天生的复杂性:2:领域实体:业务层是一些操作业务对象(BO)的处理。业务对象包含数据和行为,是一个完整的业务对象。其不同于上节架构设计中服务层的简单理解提到的数据迁移对象(dto),对于dto存在数据的,不存在行为,dto是bo(ddd中又称... 阅读全文
流畅的验证组件:FluentValidation
2012-05-27 22:33 by 破狼, 14276 阅读, 7 推荐, 收藏, 编辑
摘要:这里要介绍一款与企业库VAB(Validation Application Block),ASP.NET MVC基于Attribute声明式验证所不同的验证组件,FluentValidation,其利用表达式语法链式编程,使得验证组件与实体分开。我喜欢他的原因是喜欢表达式,喜欢链式的感觉,大有一气呵成之意。 进入今天的主题首先如果你还没有这款组件,你可以利用VS2010的NuGet安装,(如果不会的请安装上篇开源DataBase组件:FluentMigrator中提到的方式安装),命令为: 现在我们可以开始体验了,实体类do任然是上节的Orders: do:publiccl... 阅读全文
开源DataBase组件:FluentMigrator
2012-05-27 19:09 by 破狼, 5894 阅读, 5 推荐, 收藏, 编辑
摘要:今天将介绍一款开源组件FluentMigrator,其提供了jQuery式链式编程方式,和3.0后的表达式语法使其语义清晰。主要提供我们队数据库结构的维护,版本控制回滚和新增。适用于 敏捷和TDD实践中我们的需求功能的递增,数据结构增加,可持续化集成,应用场景感觉如其名Fluent(流畅)。 一:我们先利用NuGet安装FluentMigrator: 1:在vs在打开Package Manager Console: 2:安装FluentMigrator: 3:如果你希望控制台提交,可以安装其tools: 二:下面我面做一个简单的实例订单Order(这里仅列... 阅读全文
Interface继承至System.Object?
2012-05-23 01:11 by 破狼, 3262 阅读, 4 推荐, 收藏, 编辑
摘要:这其实是个很基础的问题,在我们学习C#类型的时候第一句就是所有的对象都继承至System.Object。今天一个同事问我Interface继承之System.Object。所以才有了本文。 在这里我只从几个方面简单的说明: 1:从语义: Interface在oo中表示一组行为的集合,是高层次的抽象,契约,一种稳定的表现。好比我们生活的公司和员工之间的合同,双方都必须遵循。所以我们的接口必须是一个干净纯洁的体系。加入interface继承之System.Object,这以为这是不是,Interface有Equal,ToString等方法?这明显破坏了接口的干净体系。 2:实践(C... 阅读全文