第五次重构我们引入了数据库的设计,用户信息要从数据库中读取,问候语库存储在数据库中,并支持添加与更新。数据库的引入使自动化测试变得困难了,因为数据状态总是变化着的,而这种变化使得测试过程不能复现,这是我们不愿看到的。因此,我们在设计时将业务与数据库访问分离,形成了UserDao与GreetingRuleDao。此时,我们的设计应当遵从“依赖反转”原则,即将UserDao与GreetingRuleDao设计成接口,并编写它们的实现UserDaoImpl与GreetingRuleDaoImpl。这样设计就为我们...
分类:
其他好文 时间:
2014-09-21 16:16:30
阅读次数:
344
第五次重构我们引入了数据库的设计,用户信息要从数据库中读取,问候语库存储在数据库中,并支持添加与更新。数据库的引入使自动化测试变得困难了,因为数据状态总是变化着的,而这种变化使得测试过程不能复现,这是我们不愿看到的。因此,我们在设计时将业务与数据库访问分离,形成了UserDao与GreetingRu...
分类:
其他好文 时间:
2014-09-21 15:06:10
阅读次数:
239
熟悉函数式编程的同学都了解lambda表达式,程序设计语言里的lambda表达式来源于1936年邱奇发明的lambda演算。Y-Combinator正是lambda演算里最富有神秘色彩的一种函数。它的作用是在只有匿名函数的lambda演算里实现递归函数调用。本篇向读者揭示了如何反复重构一个普通的阶乘函数从而推导出Y-Combinator。文章的推导方法来源于Jim Weirich在ruby conference 2012上的一次分享。...
分类:
编程语言 时间:
2014-09-21 14:53:00
阅读次数:
309
1> 单一职责原则
这是我们设计程序最常见的设计原则了,比如用户信息,分属性和行为,基础信息属归属性类,执行归行为类或接口,在实际项目中大多也就只有这个地方能用到。
2>里氏替换原则
尽量规避继承关系带来的负面重构影响
几个注意地方:
2.1》类中调用其他类时,尽可能使用其他类的接口或父类,这也是我们经常性的习惯。
2.2》如果子类不能完整实现父...
分类:
其他好文 时间:
2014-09-20 16:53:29
阅读次数:
148
--MySQL表空间集----------------------2014-09-201. 收缩ibdata的方法,目前MySQL依然没有提供收缩ibdata的方法,只能重构,下面是5.7的步骤。Decreasing the Size of the InnoDB TablespaceCurrentl...
分类:
数据库 时间:
2014-09-20 15:09:48
阅读次数:
279
上篇文章《机房重构(3)——存储过程》介绍了存储过程的使用,接下来介绍一下触发器的使用。说到触发器,我们并不陌生,我们学习过程中涉及到非常多相关的知识,可是欠缺的实践应用。通过这次机房收费,对触发器有了进一步的理解。 1、简单介绍 触发器也是一种与表事件相关的特殊的存储过程。由事件来触...
分类:
其他好文 时间:
2014-09-20 14:02:27
阅读次数:
203
稀疏编码在稀疏自编码算法中,我们试着学习得到一组权重参数 W(以及相应的截距 b),通过这些参数可以使我们得到稀疏特征向量 σ(Wx + b) ,这些特征向量对于重构输入样本非常有用。稀疏编码可以看作是稀疏自编码方法的一个变形,该方法试图直接学习数据的特征集。利用与此特征集相应的基向量,将学习得到的...
分类:
其他好文 时间:
2014-09-19 21:00:16
阅读次数:
400
前几年,我有机会能参与一些有趣的项目,并且独立完成开发、升级、重构以及新功能的开发等工作。 本文总结了一些PHP程序员在Web开发中经常 忽略的关键错误,尤其是在处理中大型的项目上问题更为突出。典型的错误表现在不能很好区分各种开发环境和没有使用缓存和备份等。 下面以PHP为例,但是其核心思想对...
分类:
Web程序 时间:
2014-09-19 17:32:25
阅读次数:
261
在android开发的过程中,列表是相当常用的组件,所以美观简单易用的列表是必须的。尤其在数据比较多的时候,索引和搜索功能就变得极为重要。例如android自带的联系人页面和一些App带的城市选择页面。
现在经过一系列的重构,把“android列表分组及字母导航”已经重构为 自定义控件,既可以在代码种动态添加,也可以在xml布局文件中使用,不管是在Activity中,还是在Fragment中,均能及其简单的使用。...
分类:
移动开发 时间:
2014-09-18 19:01:14
阅读次数:
260
阅读目录开始Cookie 概述Cookie的写、读过程使用Cookie保存复杂对象Js中读写CookieCookie在Session中的应用Cookie在身份验证中的应用Cookie的安全状况如何在C#发请的请求中使用Cookie重构与使用总结补充 Cookie虽然是个很简单的东西,但它又是WEB开...
分类:
其他好文 时间:
2014-09-18 18:37:44
阅读次数:
305