代码改变世界

扩展Json.net(Newtonsoft.Json)

2007-11-24 14:49 by 横刀天笑, 8325 阅读, 1 推荐, 收藏, 编辑
摘要:扩展Json.net(Newtonsoft.Json),在我们使用Newtonsoft.Json系列化对象的时候,碰到属性较多的对象,而我们只想系列化其中少数几个属性,这样就只有在那些不需要系列化的属性上贴上JsonIgnoreAttribute标签,这样在我的项目中往往看到30几个属性,28个都贴上了JsonIgnoreAttribute。在本文章中我扩展了一点Newtonsoft.Json系列化属性的方式。 阅读全文

设计模式初学者系列-观察者模式

2007-11-01 15:37 by 横刀天笑, 4732 阅读, 0 推荐, 收藏, 编辑
摘要:观察者模式定义了对象之间一对多的依赖,当这个对象的状态发生改变的时候,多个对象会接受到通知,有机会做出反馈。在运行的时刻可以动态的添加和删除观察者。 在今天的设计模式系列中我给大家带来了观察者模式,首先我会以一个生动的故事引入观察者模式的应用的场景,然后描述这个场景中出现的问题,最后我们提出观察者模式的解决方案,并给出C#语言实现的代码,最后以.net里的委托-事件方式的观察者模式作为结尾。 阅读全文

设计模式初学者系列-工厂方法

2007-10-12 10:39 by 横刀天笑, 3747 阅读, 0 推荐, 收藏, 编辑
摘要:闲谈工厂方法 设计模式系列到了第四篇了,如果还不谈谈工厂方法设计模式就太对不起GoF了,为什么有如此一说?实际上工厂方法模式是好些模式的基石,她们或多或少的使用了工厂方法模式或以工厂方法为模型。 工厂方法模式是一种类创建型模式,她为创建一个对象提供了一个稳定的接口,而将对象创建的真正工作推迟到其子类实现,工厂方法允许将类的初始化工作延迟到子类,让子类决定实例化哪个具体的类。实际上很多时候对象的创建工作往往会发生变化,直接的去用new实例化对象会导致紧耦合,当需求发生变化的时候依赖项也会跟着发生变化。按照我们解决这类问题的一般原则:首先寻找变化点――对象创建,然后封装变化――用子类来封装,父类给客户程序提供稳定的接口,不稳定的地方给封装了,客户可见的只有稳定的父类接口,这也是我们面向对象开发人员一直所追求的目标。 阅读全文

设计模式初学者系列-模板方法

2007-10-09 09:04 by 横刀天笑, 4735 阅读, 1 推荐, 收藏, 编辑
摘要: 模板方法属于行为型设计模式,行为型设计模式主要关注对象之间职责分配和算法的问题。类行为型模式使用继承来分配类之间的职责,模板方法就是个类行为型模式。对象行为型模式使用组合来分配职责。在我们构建软件的过程中大部分时候我们都是在思考实体之间的职责,怎样的职责分配最合理,不至于过重,又不至于过轻,而且又不越权。 模板方法Gof的定义是:在一个方法里定义算法的骨架,将一些步骤延迟到其子类。模板方法使得子类有机会重新定义算法的某些步骤而不改变算法的结构。模板方法实际上是利用多态这种晚绑定机制来将一些执行系列延迟到子类(运行时)。如下图: 阅读全文

设计模式初学者系列-单件模式

2007-10-07 12:04 by 横刀天笑, 8264 阅读, 0 推荐, 收藏, 编辑
摘要:在一个系统中,往往有一些服务只需要它们在整个系统中存在一个实例,并且在系统的任何角落都可以访问它。这样,单件模式出现了。比如在上一篇抽象工厂模式中,在一个系统中往往只有一个工厂,这样我们可以引入单件模式来解决这个问题。 对于单件模式的定义是:只允许系统中有一个实例存在,并且为该实例提供一个全局的访问点 阅读全文

设计模式初学者系列-开篇以及抽象工厂模式

2007-10-06 10:35 by 横刀天笑, 6632 阅读, 0 推荐, 收藏, 编辑
摘要:抽象工厂模式的使用场景 今天要谈的抽象工厂模式属于对象创建型模式。 创建型模式抽象了对象实例化的过程,它帮助系统不依赖于对象如何创建,如何实现,何时创建。个类创建型模式使用继承使对象创建多样化,一个对象创建模式将对象的创建代理到其他类。 那抽象工厂模式是为了解决什么问题的呢?给了我们怎样的设计思路?在软件开发中我们经常会碰到一系列相关的对象需要创建,如果按照常规做法我们就要为不同的对象创建编写不同的代码,复用性和可维护性都降低了。而且这些相关对象创建的方式也许不同,那么客户代码创建的时候就要针对不同的对象编码,对象创建的方式还是一个容易改变的地方。基于这样的情况提出了抽象工厂模式,抽象工厂模式为创建一系列相关对象提供了统一的接口,客户只要调用这个接口即可,封装了变化,隔离了变化,让客户代码稳定起来。 阅读全文

设计模式初学者系列-引子

2007-10-06 10:34 by 横刀天笑, 5582 阅读, 1 推荐, 收藏, 编辑
摘要:园子里有很多经典的设计模式系列的文章,本也不需要我这多余的一个系列,不过也许不多我这多余的系列吧。 在工作学习之余做了一些设计模式的笔记,无奈都是我一个人看,一直也不敢拿出来献丑,但想了想,知识只有在争论中才会更进步,思想也只有在争论中冒出火花。 常常有感于在群里和大家讨论的时候,一个又一个知识火花冒出,所以今天厚着脸皮将我的一些笔记放出来,而且是冒死放在首页,呵呵,真的希望大家能对我的文章大卸... 阅读全文

服务器维护:IIS相关(一)

2006-07-03 18:01 by 横刀天笑, 1362 阅读, 1 推荐, 收藏, 编辑
摘要:远程进入服务器,看下了任务管理器,明明记得我创建了两个应用程序池,怎么任务管理器里就只显示一个w3ap.exe进程呢?感到有点不对劲,马上调出“事件查看器”,发现了这样一个描述:应用程序池 Online的模板永久性缓存初始化失败,这是由下列错误所导致: 无法创建应用程序池的磁盘缓存子目录。数据可能包含额外的错误代码。进入MSDN,搜了大半天,终于看了一段英文,大致就是有三个文件夹的权限不够。解决方... 阅读全文

终于过了。。。。。。。。。。。

2006-06-26 16:17 by 横刀天笑, 1209 阅读, 0 推荐, 收藏, 编辑
摘要:刚刚查到软件设计师的成绩 按照以往的PASS线 应该可以过了 心情真的有点爽啊 在这里感谢一切帮助过我的人 感谢尊敬的村长,虽说你离开了,但你永远是我们的村长 感谢秒针,常常和你在QQ里讨论问题,希望以后还可以继续 感谢斑竹,虽说不喜欢说话,但是讨论技术问题还是滔滔不绝 感谢我的好同事,zhzkl,和你讨论问题真的很好,有的时候真的很激烈,希望你心情很快的好起来,有付出就有回报 感谢透明,常常给... 阅读全文

模式啊模式

2006-06-25 19:39 by 横刀天笑, 926 阅读, 0 推荐, 收藏, 编辑
摘要:最近一段常常被一些小事所畔住,没有写什么代码 但是没有写代码的时候,却想的比写代码的更多。 阅读全文