随笔分类 -  设计模式

23种设计模式和简单案例
摘要:概述 用原型实例指定创建对象的种类,并用通过拷贝这些原型来创建新的实例。模型图: 在.Net中可以通过ICloneable来实现 publicclassKnife:ICloneable{publicStringName{get;set;}publicStringAggressivity{get;set;}publicStringProperty{get;set;}publicvoidDisplay(){Console.WriteLine(Name+Aggressivity+Property);}publicobjectClone(){returnthis.MemberwiseClone().. 阅读全文
posted @ 2012-01-20 11:44 Nopcn 阅读(272) 评论(0) 推荐(0) 编辑
摘要:概述: 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。模型图: 代码二个抽象接口:internalinterfaceFemaleShoes{StringName{get;set;}StringStyle{get;set;}voidDisplay();}internalinterfaceFemaleClothes{StringName{get;set;}StringCode{get;set;}voidDisplay();}具体实现类:internalclassFemaleClothShoes:FemaleShoes{privateStringname="布鞋&qu 阅读全文
posted @ 2012-01-18 18:08 Nopcn 阅读(282) 评论(0) 推荐(0) 编辑
摘要:概述 简单工厂存在着不少的缺点,工厂类就违反了“对扩展开放、对修改关闭”的原则。而工厂方法可以克服简单工厂的缺点。工厂方法通过定义一个用户创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。实现例子:产品接口:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleFactoryMethodDemo{internalinterfaceFemaleClothes{StringName{get;set;}Strin... 阅读全文
posted @ 2012-01-18 15:56 Nopcn 阅读(171) 评论(0) 推荐(0) 编辑
摘要:概述: 简单工厂,通过具体工厂类、抽象产品、具体产品类设计,封装具体产品。实现如下具体代码实现:接口(产品): internalinterfaceClothes{StringName{get;set;}StringCode{get;set;}voidDisplay(); }具体产品A:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleSimpleFactoryDemo{internalclassFemaleShirtClothes:Clothes{... 阅读全文
posted @ 2012-01-18 11:30 Nopcn 阅读(289) 评论(0) 推荐(0) 编辑
摘要:在项目开发中,在用WCF讲数据的时候,架构师来了个Double Check,还英语都拼不准的我连单词都不懂,更何况了解了。下面做了下手记:Web缓存应用中,缓存更新时,为防止并发的产生。引用多线程开发中的Double Check!代码如下://锁privatestaticreadonlyObjectlocker=newObject();//获取缓存方法privateStringUpdateCache(){//第一次判断缓存是否存在if(Cache["key"]==null){//进入锁lock(locker){//第二次判断缓存是否存在if(Cache["key& 阅读全文
posted @ 2011-11-22 16:00 Nopcn 阅读(882) 评论(0) 推荐(0) 编辑
摘要:概述: 单例模式又称单件模式,模式用来创建独一无二的只有一个实例的对象,并提供一个全局访问点。 经典的单例模式实现: 1publicclassSingleton2{3privatestaticSingletoninstance=null;45publicstaticSingletonInstance6{7get8{9if(instance==null)10{1112instance=newSingleton();13}14returninstance;15}16}17 }这种方式存在的缺点是线程不安全,当出现多线程情况的时候,有多可能出现多个实例。 解决方法是采用lock... 阅读全文
posted @ 2010-10-22 00:10 Nopcn 阅读(347) 评论(0) 推荐(0) 编辑
摘要:一、设计模式定义、来历类似的一些问题在开发中经常遇到,经过前人的整理得出的一些好的解决方案,面向对象设计模式就是为了实现面向对象的一些原则的。那么我们可以得到设计模式的定义:设计模式就是重复问题的一些好的解决方案 设计模式起源于建筑,首先由建筑设计师亚历山大提出的,然后经过前人推广到软件设计行业来。在他的那本著名“模式语言”(A Pattern Language)一书中,他写道:“每个模式都描述着一种在我们的环境中一遍又一遍地出现的问题,并因此描述了对该问题的核心解决方案。以此方式你可以使用该方案上百万次,而从不需要重复作同样的事情。” 面向对象设计模式让你的设计更好的符合面向对象设计的一些. 阅读全文
posted @ 2010-09-18 16:42 Nopcn 阅读(287) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示