图一:图二:鸭子对象,会游泳、会叫、会飞(变天鹅之后),但不是所有的鸭子都能飞(当它还是丑小鸭的时候),初步设计如图一。这并不是一个复用性好的设计,有更好的解决方案(图二)。原则是:1.找出应用中可能需要变化的地方,把它们独立出来,不要和那些不需要变化的代码混在一起;2.针对接口编程;3.多用组合少用继承;图二就是最简单的策略模式(StrategyPattern):定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
系统 2019-08-29 22:34:08 2780
通常情况下spinner都采用系统默认的android.R.layout.simple_spinner_item和android.R.layout.simple_spinner_dropdown_item有时候也需要自定义这两个文件比如我这里是spinner_item.xml,这个是下拉列表的item样式
系统 2019-08-29 22:18:01 2780
曾在Google工作负责过技术工作的科技编辑MattHeusser总结了他在Google的生活经历,得出结论:作为程序员,你只有15年时间。Matt写道当我在Google工作时,发现Google大部分人都是20出头的年轻人,他们经历的很多事情都是第一次:第一次迈出校门、参加工作,第一次买房,第一次生孩子,第一次买车。但真正让他感到吃惊的是,那些老家伙们都哪儿去了?然后他才意识到,作为技术人员,你只有15年的时间,也就是说,在美国公司里面,一名员工的半衰期为
系统 2019-08-12 09:30:05 2780
jQuery插件的开发包括两种:一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件开发,即给jQuery对象添加方法。下面就两种函数的开发做详细的说明。1、类级别的插件开发类级别的插件开发最直接的理解就是给jQuery类添加类方法,可以理解为添加静态方法。典型的例子就是$.AJAX()这个函数,将函数定义于jQuery的命名空间中。关
系统 2019-08-12 09:29:41 2780
importjava.lang.reflect.InvocationTargetException;importorg.eclipse.core.runtime.IProgressMonitor;importorg.eclipse.jface.dialogs.ProgressMonitorDialog;importorg.eclipse.jface.operation.IRunnableWithProgress;importorg.eclipse.swt.
系统 2019-08-12 09:29:34 2780
提要Sendmail提供了基本的SMTP協定(Protocal),並可透過郵件代轉機制(Relay)替指定的IP做代轉服務,然而並非所有用戶端(Client)皆具有固定IP,此時便可透過SASL(SimpleAuthenticationandSecurityLayer,SASL)提供使用者做認證以便提供SMTP服務。而SASL所提供的密碼交換協定是以明文(Plaintext)形式來傳遞,再安全上有相當大的疑慮,TLS(TransportLayerSecur
系统 2019-08-12 01:33:13 2780
发布日期:2004年8月01日杨沙洲(pubb@163.net)国防科技大学计算机学院简介:本文详细分析了2.6.x内核中链表结构的实现,并通过实例对每个链表操作接口进行了详尽的讲解。原文地址:http://www.ibm.com/developerworks/cn/linux/kernel/l-chain/index.html一、链表数据结构简介链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式
系统 2019-08-12 01:32:58 2780
From:http://os.51cto.com/art/200912/165925_1.htm位置参数$1,$2,...,$N,$#代表了命令行的参数数量,$0代表了脚本的名字,第一个参数代表$1,第二个参数代表$2,以此类推,参数数量的总数存在$#中,上面的例子显示了怎么改变脚本,如果参数少于或者多余2个来打印出一条消息。shell编程中使用到得if语句内判断参数–b当file存在并且是块文件时返回真-c当file存在并且是字符文件时返回真-d当pat
系统 2019-08-12 01:32:58 2780
Word2007怎样从随意页開始设置页码word07页码设置毕业论文为了方便解说,我们先如果从第3页開始设置页码。一、插入页码插入→页眉和页脚→页码→页面底端→普通数字3说明:被→分隔的内容分别为选项卡,模块,命令button,子命令button。二、在第2页与第3页之间插入一个分节符光标移动到第3页的第一个字符前页面布局→页面设置→分隔符→下一页(分节符)三、取消链接到前一条页眉双击第3页页码设计→导航→链接到前一条页眉(确认这一项没有被按下)说明:双击
系统 2019-08-12 01:32:13 2780
开发工具目录结构--E:\develop\----node-webkit-v0.9.2-win-ia32----SublimeText2.0.2x64为Sublimetext2构建Build环境打开sublimetext2菜单->tools->buildsystem->newbuildsystem,输入如下代码:{"cmd":["nw","${project_path:${folder}}"],"working_dir":"${project_path:$
系统 2019-08-12 01:31:58 2780