做了几个项目,一直有滚动播放的需求,也就是轮播。代码重复写时一定需要将其抽象,于是将轮播单独抽取出来,做成了一个库,可以直接引用。可以控制是否循环,是否轮播,轮播间隔时间,事件监听等操作,将它放在了github上。https://github.com/androiddevelop/CycleViewPager
做一下简单的介绍:
CycleViewPager
系统要求...
分类:
移动开发 时间:
2015-01-25 09:52:39
阅读次数:
151
11.5 第十五章小结
这一章的主题主要是函数程序的重构,我们已经看到了大量的示例和概念。我们首先讨论了在数学意义上的重构,可以发现,在数学意义上,很容易推导出“代码”,因此,可以看到特定的改变在何时是正确的。由于其根源在数学中,因此,函数式编程通常也有这样的属性。
我们首先探讨了使用函数类型,能够减少代码重复,这是重构的简单情况;然后发现,使用函数式编程,能够方便跟踪代码中的相关性,因...
分类:
其他好文 时间:
2015-01-16 16:45:43
阅读次数:
157
函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell 也支持函数。Shell 函数必须先定义后使用。Shell 函数的定义格式如下:function_name () { list of commands [ return va...
分类:
系统相关 时间:
2015-01-04 18:39:41
阅读次数:
183
在没用过poi之前感觉poi是很高大上的样子, 项目中用了发现poi的代码重复性很高类似于jdbc的模板代码, 项目中如果大量使用最好封装起来; 总结一下归结为6步 1 打开或新创建一个工作薄(使用HSSFWorkBook创建或打开一个工作薄HSSFSheet对象) 2 在工作薄基础上...
分类:
其他好文 时间:
2015-01-04 16:31:05
阅读次数:
227
模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
何时应用:
1、需要一次性实现算法的不变部分,并将可变的行为留给子类实现
2、子类的共同行为应该被提取出来放到公共类中,避免代码重复
3、需要控制子类的扩展
典型应用:
1、C++ STL
2、系统底层框架:
2.1、Andro...
分类:
其他好文 时间:
2014-12-30 23:38:43
阅读次数:
220
方法可使用可选参数。
public void GetData(string id,string name="",string type="")
这种方式可以用于扩展,比如新增一个查询参数,写在后面即可,不需要去修改以前的方法。
其实这是一种偷懒的方式,正规的使用应该写很多的重载方法,因为参数不一样。
但是重载的话,又会导致代码重复无意思,及时使用数组传参或者传空参数之类的方法出现,并不方便...
分类:
其他好文 时间:
2014-12-12 19:07:41
阅读次数:
164
模板方法应用于下列情况:一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现各子类中公共的行为应被提取出来并集中到一个公共父类中的避免代码重复,不同之处分离为新的操作,最后,用一个钓鱼这些新操作的模板方法来替换这些不同的代码控制子类扩展,模板方法只在特定点调用“hook”操作,这样就允许在这...
分类:
其他好文 时间:
2014-12-12 14:47:21
阅读次数:
151
重构可以把复杂的东西分解成一个个简单的小块。但有时候,你必须壮士断腕删掉整个算法,用简单的算法来取代,如果你发现做一件事情可以有更清晰的方式,那你完全有理由用更清晰的方式来解决问题。如果你开始使用程序库,发现其中库提供的功能特性和你的代码重复,那么你也应该改变你原来的算法。或者当你想要修改原先的算法...
分类:
其他好文 时间:
2014-12-11 11:50:16
阅读次数:
155
1,使用 标签避免代码重复设想一种情况:我们需要为应用程序中的每个视图都添加一个标题。为了简化问题,我们假设标题是一个显示应用程序标题的TextView。通常多个Activity 会对应多个XML 文件。难道我们需要把这个TextView 复制到每个XML 文件中吗?如果以后需要修改这个TextVi...
分类:
移动开发 时间:
2014-12-10 16:08:53
阅读次数:
203
http://www.cnblogs.com/kongyiyun/archive/2010/10/19/1855274.html使用Lambda表达式将会造成Lambda表达式主题部分的代码重复.var allEmployees = new List() { new Employee { Emplo...