代码改变世界

随笔档案-2012年11月

Equals和GetHashcode

2012-11-29 23:23 by 假面Wilson, 945 阅读, 收藏, 编辑
摘要: 一.两个逻辑上相等的实例对象。两个对象相等,除了指两个不同变量引用了同一个对象外,更多的是指逻辑上的相等。什么是逻辑上相等呢?就是在一定的前提上,这两个对象是相等的。比如说某男生叫刘益红,然后也有另外一个女生叫刘益红,虽然这两个人身高,爱好,甚至性别上都不相同,但是从名字上来说,两者是相同的。Equals方法通常指的就是逻辑上相等。二.Object的GetHashcode方法。计算Hashcode的算法中,应该至少包含一个实例字段。Object中由于没有有意义的实例字段,也对其派生类型的字段一无所知,因此就没有逻辑相等这一概念。所以默认情况下Object的GetHashcode方法的返回值,应 阅读全文

领域驱动设计模型和Smark UI

2012-11-29 23:05 by 假面Wilson, 1190 阅读, 收藏, 编辑
摘要: 最近在看ERIC Evans的《领域驱动设计》 ,里面提到了被称为反模式的Smart UI.觉得很有启发,摘要下来和大家分享。在面向对象的应用程序中,分层架构似乎是一个广为接受的模式。这种将UI和领域对象隔离开来的做法,虽然有很多人尝试去做,但最后坚持下来的却极少。为什么在经过尝试后,分层架构在实践中被否定了呢?SMART UI架构将领域知识和UI层混在一起。相对于分层架构而言,SMART UI架构简单得多。就是这个简单的SMART UI架构在时间中常常击败分层架构。有很多软件采用了SMART UI这种架构,他们也应该继续采用这种架构。但是我们必须要明白,SMART UI架构和领域驱动之间的矛 阅读全文

Factory Method模式

2012-11-29 17:39 by 假面Wilson, 234 阅读, 收藏, 编辑
摘要: 看到一篇简单易懂关于Factory方法模式的文章,转载过来留着备用!转自:http://www.cnblogs.com/feipeng/archive/2007/03/12/671486.html一、概述在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?提供一种封装机制来隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变?这就是要说的Factory Method模式了。二、意图定义一个用户创建对象的接口,让子类决定实例化哪一个类。Factory Metho 阅读全文

Command模式

2012-11-27 16:31 by 假面Wilson, 274 阅读, 收藏, 编辑
摘要: 最近在看《重构与模式》,发现写的不是很清晰,不知是否翻译的不够好。后来在园子里看到了好文,写的非常清晰。故转载:http://www.cnblogs.com/zhenyulu/articles/69858.html一、命令(Command)模式命令(Command)模式属于对象的行为模式【GOF95】。命令模式又称为行动(Action)模式或交易(Transaction)模式。命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开, 阅读全文

Null Object 模式

2012-11-26 17:27 by 假面Wilson, 419 阅读, 收藏, 编辑
摘要: NULL OBJECT看着这个名字应该有一个笼统的印象了。翻译成中文就是“空对象”。提供一个对象给指定的类型,用以代替这个对象为空的情况。 Null Object提供了“什么也不做”的行为,隐藏来自它的合作者的细节那在FrameWork中有这样的设计模式吗?答案是肯定的,比如:String.Empty,Decimal.Zero等以下是简单例子:publicinterfaceEmployee{publicvoidpay();publicbooleanisTimeToPay(DateTimepayDate);publicstaticfinalEmployeeNULL=newEmployee(){p 阅读全文

SQL2005/2008 tempdb数据库路径的转移

2012-11-26 16:00 by 假面Wilson, 231 阅读, 收藏, 编辑
摘要: 完整步骤:停止与启动SQL服务方法:开始-->运行-->输入services.msc,回车-->在服务列表中找到SQL Server (MSSQLSERVER)-->右键-->停止/启动1.停止SQL服务2.复制 tempdb数据库的两个文件(.mdf/.ldf) 到新文件夹,如(D:/tempdb)3.启动SQL服务4.打开SQL Server Management Studio,执行以下代码: USEmaster;GOALTERDATABASEtempdbMODIFYFILE(NAME=tempdev, FILENAME='D:/tempdb/temp 阅读全文

DataGridViewComboBoxCell 的Value 、FormatValue、EditedFormattedValue

2012-11-22 13:24 by 假面Wilson, 754 阅读, 收藏, 编辑
摘要: Value=ValueMemberFormatValue =DisplayMember (获取为显示进行格式化的单元格的值)EditedFormattedValue=DisplayMember(获取该单元格的当前格式化值,而不考虑该单元格是否处于编辑模式,也不论是否尚未提交此值) 阅读全文

SQL Server tempdb

2012-11-21 10:14 by 假面Wilson, 625 阅读, 收藏, 编辑
摘要: 最近数据库tempdb暴涨,上网查询了相关介绍,总结如下: tempdb全局存储内部对象,用户对象,临时表,临时对象,以及SQL Server操作创建的存储过程。每个数据库实例只有一个tempdb,所以可能存在性能以及磁盘空间瓶颈。各种形式的可用空间及过度饿DDL/DML操作都会导致tempdb负载过重。这会导致运行在服务器上不相干程序运行缓慢或者运行失败。 tempdb的一些常见通病如下: --耗完了tempdb的所有存储空间 --读取tempdb时的I/O瓶颈造成的查询运行缓慢。 --过度的DDL操作造成在系统表上的瓶颈。 --分配竞争 在我们开始诊断问题之前,让我们首先看一... 阅读全文

上传图片时,CMKY转RGB

2012-11-16 13:33 by 假面Wilson, 420 阅读, 收藏, 编辑
摘要: 在做项目时发现图片CMYK模式无法显示,下面使用将Image重新绘制为Format24bppRgb的方式来解决此问题:usingSystem.Drawing;usingSystem.Drawing.Drawing2D;usingSystem.Drawing.Imaging;protectedvoidButton1_Click(objectsender,EventArgse){if(FileUpload1.HasFile){SavePostedImage(FileUpload1.PostedFile,FileUpload1.FileName,1000,1000);}}publicvoidSave 阅读全文

CSS表格数据换行

2012-11-07 11:09 by 假面Wilson, 547 阅读, 收藏, 编辑
摘要: 近期做的一个项目,该项目需要输出的数据很多,在表格中需要生成各种类型的数据,遇到了一个让人头疼的问题:长英文字符串的换行。找了不少资料,最终使用了word-wrap、table-layout各自的一个属性值,并结合项目实际的情况,做了一些兼容性处理,解决该问题,并在团队中做了一次分享,希望可以给大家带来帮助,提升对css长英文或者长字段换行的认识。长英文或者长字段换行写法总结如下:需要了解的3个属性1.word-wrap:break-word 词内换行 只支持连续的英文和数字,在表格中失效2.word-break:break-all 边界内换行 支持包括英文和数字的词句短,在火狐中失效3.ta 阅读全文
点击右上角即可分享
微信分享提示