摘要: 需求:现有一个遥控器,有七个可编程的插槽,每个插槽都对应开关按钮,遥控器还具备一个整体的撤销按钮。可控装置:电灯、风扇、热水器、音响设备和其它类似的可控制装备。要求能够控制目前的装置和任何未来可能出现的装置。我们把这个过程想象成餐厅吃饭的过程:顾客根据菜单点单,然后将订单给服务员,服务员将订单放到厨... 阅读全文
posted @ 2014-08-04 15:53 吉大依恋 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 单件模式确保一个类只有一个实例,并提供一个全局访问点。由于比较简单,这里只给出具体代码。其中volatile用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。public class Singleton { ... 阅读全文
posted @ 2014-08-04 09:55 吉大依恋 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 工厂模式包括二种:工厂方法和抽象工厂。二者都是让子类决定该创建的对象是什么,来达到将对象创建的过程封装的目的。但二者略有不同,工厂方法是通过继承来实现,而抽象工厂是通过组合来实现的。首先不考虑调料的不同的情况下,随时会有Pizza联盟店加入进来。Pizza联盟店地址不同,当地的风俗和口味也会不一样。... 阅读全文
posted @ 2014-08-03 19:45 吉大依恋 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 需求:顾客能在购买咖啡(咖啡种类有多种)的同时购买任意种类和数量的调料。例如顾客想要购买摩卡和奶泡深焙咖啡。分解为:1.深焙咖啡2.用调料摩卡装饰深焙咖啡3.用调料奶泡装饰摩卡深焙咖啡规定店中所有提供的饮料均继承基类Beverage。实现图如下:实现代码如下:Beverage基类:public ab... 阅读全文
posted @ 2014-08-01 21:23 吉大依恋 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 目的:用WeatherData对象从气象台取得数据并更新布告板,考虑系统的可扩展性,满足随心所欲添加或删除布告板。如图所示:考虑在同一时刻只选择一个布告板并显示的情况。抽取中其中改变的部分,即布告板。设想实现如下图:上图设计中可以满足弹性的任意选择一个布告板并对其进行更新。然而我们需要的是有多个布告... 阅读全文
posted @ 2014-08-01 17:05 吉大依恋 阅读(299) 评论(0) 推荐(1) 编辑
摘要: 策略模式(基于接口编程。随时想到一个问题,那就是如果后期有新的行为需要添加,如何提高代码的弹性和复用性):抽象类鸭子都会游泳,会有不同的外观。具体类鸭子继承基类,因此具备了基类鸭子的特性和行为。现在有个新的需求,要求一个会飞的鸭子和吱吱叫的鸭子,如果将会飞行为和叫的行为直接加入基类中,那么所有继承该... 阅读全文
posted @ 2014-07-31 21:13 吉大依恋 阅读(182) 评论(0) 推荐(0) 编辑
摘要: #include#includeusing namespace std;int check(string a,string b,string c){int lena=a.length();int lenb=b.length();int lenc=c.length();if(lenc!=(lena+l... 阅读全文
posted @ 2014-03-04 11:16 吉大依恋 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 参数string:string类型,指定要删除首部和尾部空格的字符串返回值String。函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空字符串("")。 如果参数值为null时,会抛出空指针异常。 阅读全文
posted @ 2014-03-01 15:53 吉大依恋 阅读(232) 评论(0) 推荐(0) 编辑
摘要: unique()函数是一个去重函数,STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个),还有一个容易忽视的特性是它并不真正把重复的元素删除。他是c++中的函数,所以头文件要加#include,具体用法如下: int num[100]; unique(num,mun+n)返回的是num去重后的尾地址,之所以说比不真正把重复的元素删除,其实是,该函数把重复的元素一到后面去了,然后依然保存到了原数组中,然后返回去重后最后一个元素的地址,因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序。 阅读全文
posted @ 2014-02-18 11:24 吉大依恋 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y);首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。表示:float *fun();float *p;p = fun(a);注意指针函数与函数指针表示方法的不同,千万不要混淆。最简单的辨别方式就是看函 阅读全文
posted @ 2013-04-26 10:31 吉大依恋 阅读(169) 评论(0) 推荐(0) 编辑