随笔分类 - 其它
摘要:System.Web.Caching.Cache是.net为我们提供的一个轻量级的缓存组件,它提供了最基础的增,增过期,删除,获取等操作,下面是对Cache进行的一个封装,方便以后统一调用和扩展。 /// <summary> /// 缓o存?相à关?的?操ù作÷类à /// 占?占? /// </summary> public class DataCache { ...
阅读全文
摘要:之前我完了《重构,改善即有代码的设计》,这本书非常适合在编程中遇到瓶颈的朋友,看完这本书,一定让您有一种“拨开迷雾”的感觉,事实上这本书就像标题一样,主要是讲代码重构的知识的,从变量命名到语句编写,从语句到提取方法,从方法重构到类重构等等,每一篇文章都像是一道菜,让看过的人回味无穷,在这里班 下Martin Fowler大师。今天有点兴趣,准备按下来的几一写一下最近的作品《架构,改善程序复用性的设计》,主要从系统架构的角度,来设计一个可能被多个系统重用的公用项目集,下面是本课程的目录部分:第一讲 系统的复用性离不开系统的面向对象性第二讲 什么应该提取出来,什么应该保留第三讲 实现一种功能的代码
阅读全文
摘要:将系统中全局的,容易发生变化的数据,但调用频繁的常量信息存储在文件中是个不错的选择,原因有以下几点: 1 由于操作频繁,放在文件里可以减低数据库的负载 2 由于信息是全局的,所以放在文件中,对于所有层都可以开放 3 由于它容易发生变化 ,所以写死在代码中,不是一个聪明的作法,放在文件中可以不用编译,就可以使信息同步到程序上 4 操作频繁,放在文件中,这事实上对于服务器的CPU来说不是一件好事,所...
阅读全文
摘要:在我上一篇文章中,对实体验证的方式是如果所有字段不满足条件将会向集合中迭代返回一个结果,但有时,我们不希望验证所有对象,可以只是修改指定字段,如用户修改密码功能,可以对实体验证只考虑原密码,新密码和确认密码就可以了,而如果验证所有字段反而有点多此一举了,所以,我对实体类的验证部分进行了一个改动看代码 /// /// 如果验证的字段为NULL表示验证所有字段 /// public string[] ValidFields { get; set; } public virtual bool IsValid { get { return t...
阅读全文
摘要:说起数据验证,在我的博客中文章不少,有MVC标准验证,有自己架构中用到的验证,但一个共同的问题就是重复的代码量太大,而且破坏了数据库实体本身的层次感!即数据(实体)有效性验证就应该在实体层去实现,不应该推迟到WEB层去做这事,在之前的文章中我介绍了使用统一实体基类来做这事,但需要每个实体都去干预自己...
阅读全文
摘要:以用户注册为例,来说一下MVC中向数据表中添加数据的方法 从WEB层说起:有两个action,分别实现显示注册界面和提交注册请求的作用,在action中,对表单实体进行了数据有效性的验证,代码如下: public ActionResult Register() { return View(); } [HttpPost] pub...
阅读全文
摘要:.net原生态的ORM工具就是VS.net自带的工具,主要有entity frameworks和linq to sql,前者支持database first,model first和code first,这三种生产模块主要说明如下: database first:数据库优先,即先设计数据库,再生成实体对象 model first:模型优先,先设计实体模型,再自动生成数据库 code firs...
阅读全文
摘要:一 DBContext的构造方法,方法的重载二 DBContext实例中,表实体对象是怎么被加入的三 分部类是否破坏了单一职责四 分部方法从另一方面定义了类型的操作规范五 LINQ实体类中对属性的赋值,变化前与变化后SendPropertyChanging与SendPropertyChanged六 LINQTOSQL中为我们触发了SendPropertyChanging和SendPropertyChanged,它的真正用意是什么七 为DBContext对象应该作为其它实体操作类型的基类,并为它提供统一的提交动作这是DBML系列的最后一讲,主要内容是将DBML文件进行抽象,把DBML里所有实体类
阅读全文
摘要:一 DBContext的构造方法,方法的重载二 DBContext实例中,表实体对象是怎么被加入的三 分部类是否破坏了单一职责四 分部方法从另一方面定义了类型的操作规范五 LINQ实体类中对属性的赋值,变化前与变化后SendPropertyChanging与SendPropertyChanged六 LINQTOSQL中为我们触发了SendPropertyChanging和SendPropertyChanged,它的真正用意是什么七 为DBContext对象应该作为其它实体操作类型的基类,并为它提供统一的提交动作接上一篇文章,谈到了当属性被修改时,LINQ会帮助我们触发两个事件,它们是:publ
阅读全文
摘要:回到目录首先从这一篇的文章标题中可以看出,主要是讲dbml中对实体的属性赋值的相关知识,还有SendPropertyChanging与SendPropertyChanged这两个方法,从第五讲和第六讲中我们看到标题有些雷同,是的,但我讲它们的侧重点不同,第五讲主要讲实体中属性赋值的过程,此时会用到SendPropertyChanging与SendPropertyChanged这两个方法,而第六讲,主要是讲这两个方法的作用,先透露一下,主要讲事件触发机制的,呵呵。 1 public string ExceptionID 2 { 3 get 4 ...
阅读全文
摘要:一 DBContext的构造方法,方法的重载二 DBContext实例中,表实体对象是怎么被加入的三 分部类是否破坏了单一职责四 分部方法从另一方面定义了类型的操作规范五 LINQ实体类中对属性的赋值,变化前与变化后SendPropertyChanging与SendPropertyChanged六 LINQTOSQL中为我们触发了SendPropertyChanging和SendPropertyChanged,它的真正用意是什么七 为DBContext对象应该作为其它实体操作类型的基类,并为它提供统一的提交动作分部方法,partial method,它要求必须定义在分部类里,上一文章已经说过分
阅读全文
摘要:一 DBContext的构造方法,方法的重载二 DBContext实例中,表实体对象是怎么被加入的三 分部类是否破坏了单一职责四 分部方法从另一方面定义了类型的操作规范五 LINQ实体类中对属性的赋值,变化前与变化后SendPropertyChanging与SendPropertyChanged六 LINQTOSQL中为我们触发了SendPropertyChanging和SendPropertyChanged,它的真正用意是什么七 为DBContext对象应该作为其它实体操作类型的基类,并为它提供统一的提交动作先来看一下“百度百科”对单一职责的定义: 一个类,只有一个引起它变化的原因。应该只有
阅读全文
摘要:一 DBContext的构造方法,方法的重载二 DBContext实例中,表实体对象是怎么被加入的三 分部类是否破坏了单一职责四 分部方法从另一方面定义了类型的操作规范五 LINQ实体类中对属性的赋值,变化前与变化后SendPropertyChanging与SendPropertyChanged六 LINQTOSQL中为我们触发了SendPropertyChanging和SendPropertyChanged,它的真正用意是什么七 为DBContext对象应该作为其它实体操作类型的基类,并为它提供统一的提交动作这个系列的主角将一直是linqtosql.dbml,我们一般叫它数据对象关系映射,或
阅读全文
摘要:一 DBContext的构造方法,方法的重载二 DBContext实例中,表实体对象是怎么被加入的三 分部类是否破坏了单一职责四 分部方法从另一方面定义了类型的操作规范五 LINQ实体类中对属性的赋值,变化前与变化后SendPropertyChanging与SendPropertyChanged六 LINQTOSQL中为我们触发了SendPropertyChanging和SendPropertyChanged,它的真正用意是什么七 为DBContext对象应该作为其它实体操作类型的基类,并为它提供统一的提交动作当我们建立一个linq to sql的DBML文件后,我们可以打开它的代码文件,看一
阅读全文
摘要:一 DBContext的构造方法,方法的重载二 DBContext实例中,表实体对象是怎么被加入的三 分部类是否破坏了单一职责四 分部方法从另一方面定义了类型的操作规范五 LINQ实体类中对属性的赋值,变化前与变化后SendPropertyChanging与SendPropertyChanged六 LINQTOSQL中为我们触发了SendPropertyChanging和SendPropertyChanged,它的真正用意是什么七 为DBContext对象应该作为其它实体操作类型的基类,并为它提供统一的提交动作喜欢微软的东西,是因为它的东西没有告诉你“事情就是这样”,而告诉你的是“你认为事件应
阅读全文
摘要:这段时间确实忙,以至于连写博客的时间都没有了,今天正好有点时间,有第五章依赖住入简单的说一下,主要分两块,一是依赖住入的概念,什么时候使用依赖注入,第二个问题是通过一个使用Unity的实例来让大家对依赖注入有一个很直观的认识。一 概念:依赖注入,即Dependency Injection,即DI,有时也叫它控制反转,一般用IoC来实现对象的创建工作,我们知道一个类,要想被实例化我们可以用new关键字,例如一个数据操作接口规范interface IRepository{},其中有一个SQLSERVER的数据操作去实现了它class SQLRepository:IRepository{},而客户电
阅读全文
摘要:回到目录名称有点饶,不是很好理解,但我喜欢这种大白话,不喜欢书所翻译过来的话,呵呵!今天要把一个不确定的问题解决,问题是:一个程序中,有一个属性,如果它为true时,我希望把另一些方法自动运行,这是可以通过订阅事件来实现的,对吗?经过我的测试确实是这样的,呵呵。事件一个一直叫我们头痛的话题,一个能不用就不用的东西,我们程序员为什么那么怕“事件”呢?我来分析几个原因1 对本身的概念不是很理解2 对它的作用不是很清晰,可能书上说不到点上,个人认为3 平时用的少,所以对它更加陌生今天,我就和大家一起再学习一个C#的事件一说事件,就不行不说委托,这两者到底是什么关系呢,在我看来,委托就是一个类,而事件
阅读全文
浙公网安备 33010602011771号