摘要: 扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。” 这是msdn上说的,也就是你可以对String,Int,DataRow,DataTable等这些类型的基础上增加一个或多个方法,使用时不需要去修改或编译类型本身的代码。 先做个例子吧,以String 阅读全文
posted @ 2017-05-05 18:36 持&恒 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 创建型模式 (1) 工厂方法模式:近年来大型足球比赛(世界杯和欧洲杯)的指定用球都是阿迪达斯的(据说是签了合同的),当然Adidas足球是由Adidas公司生产的,除此之外,Nike公司也生产Nike足球,KAPPA(背靠背)公司也生产背靠背足球,足球生产商是工厂,足球是产品。增加一种新的足球品牌, 阅读全文
posted @ 2017-05-05 16:37 持&恒 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 【学习难度:★★☆☆☆,使用频率:★★★★☆】 我的笔记本电脑的工作电压是20V,而我国的家庭用电是220V,如何让20V的笔记本电脑能够在220V的电压下工作?答案是引入一个电源适配器(AC Adapter),俗称充电器或变压器,有了这个电源适配器,生活用电和笔记本电脑即可兼容,如图9-1所示: 阅读全文
posted @ 2017-05-05 16:28 持&恒 阅读(1385) 评论(0) 推荐(0) 编辑
摘要: 【学习难度:★★★★☆,使用频率:★★☆☆☆】 没有人买车会只买一个轮胎或者方向盘,大家买的都是一辆包含轮胎、方向盘和发动机等多个部件的完整汽车。如何将这些部件组装成一辆完整的汽车并返回给用户,这是建造者模式需要解决的问题。建造者模式又称为生成器模式,它是一种较为复杂、使用频率也相对较低的创建型模式 阅读全文
posted @ 2017-05-05 15:38 持&恒 阅读(810) 评论(0) 推荐(0) 编辑
摘要: 学习难度:★★★☆☆,使用频率:★★★☆☆】 张纪中版《西游记》以出乎意料的造型和雷人的台词遭到广大观众朋友的热议,我们在此对该话题不作过多讨论。但无论是哪个版本的《西游记》,孙悟空都是其中的一号雄性主角,关于他(或它)拔毛变小猴的故事几乎人人皆知,孙悟空可以用猴毛根据自己的形象,复制(又称“克隆” 阅读全文
posted @ 2017-05-05 14:26 持&恒 阅读(13348) 评论(0) 推荐(5) 编辑
摘要: 【学习难度:★☆☆☆☆,使用频率:★★★★☆】 3.1 单例模式的动机 对于一个软件系统的某些类而言,我们无须创建多个实例。举个大家都熟知的例子——Windows任务管理器,如图3-1所示,我们可以做一个这样的尝试,在Windows的“任务栏”的右键弹出菜单上多次点击“启动任务管理器”,看能否打开多 阅读全文
posted @ 2017-05-05 11:17 持&恒 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 【学习难度:★★★★☆,使用频率:★★★★★】 工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。此时,我们可以考虑将一些相关的产品组成一个“产品族”,由同一个工厂来统一生 阅读全文
posted @ 2017-05-05 10:51 持&恒 阅读(5766) 评论(0) 推荐(0) 编辑
摘要: 【学习难度:★★☆☆☆,使用频率:★★★★★】 简单工厂模式虽然简单,但存在一个很严重的问题。当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,将违背“开闭原则”,如何实现增加新产品而不影响已有代码?工厂方法模式应运而生,本文将介绍第二种工厂 阅读全文
posted @ 2017-05-04 11:09 持&恒 阅读(2448) 评论(0) 推荐(1) 编辑
摘要: 工厂模式(包括简单工厂模式、工厂方法模式和抽象工厂模式)到底有什么用,很多时候通过反射机制就可以很灵活地创建对象,为毛还要工厂?,在本文中我将围绕创建对象和使用对象来简单谈谈工厂的作用。 与一个对象相关的职责通常有三类:对象本身所具有的职责、创建对象的职责和使用对象的职责。对象本身的职责比较容易理解 阅读全文
posted @ 2017-05-04 10:27 持&恒 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 【学习难度:★★☆☆☆,使用频率:★★★☆☆】 工厂模式是最常用的一类创建型设计模式,通常我们所说的工厂模式是指工厂方法模式,它也是使用频率最高的工厂模式。本章将要学习的简单工厂模式是工厂方法模式的“小弟”,它不属于GoF 23种设计模式,但在软件开发中应用也较为频繁,通常将它作为学习其他工厂模式的 阅读全文
posted @ 2017-05-04 08:38 持&恒 阅读(647) 评论(0) 推荐(0) 编辑