重构与优化
Q-WHai
O ever youthful,O ever weeping.
展开
-
Python代码优化及技巧笔记(一)
前言这里是记录一些本人在开发过程中遇到的一些细节问题,与君共勉。版权说明著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:Q-WHai链接:https://qwhai.blog.csdn.net/article/details/50736887来源:CSDN1.Python实现全排列方案一:a = [1...原创 2016-02-25 17:21:03 · 4780 阅读 · 1 评论 -
Java 设计模式——状态模式
很多人在说状态模式的时候总拿策略模式来进行对比,可能他们的类图会有一点类似,可我却不认为他们有多么相像。你可以阅读《Java设计模式——策略模式》这篇博客,并与本文对比,以找到蛛丝马迹。他们最根本的差异在于策略模式是在求解同一个问题的多种解法,这些不同解法之间毫无关联;状态模式则不同,状态模式要求各个状态之间有所关联,以便实现状态转移。原创 2016-06-06 16:46:00 · 15567 阅读 · 2 评论 -
Java 设计模式——外观模式
今天要说的外观模式是一个相对简单的设计模式,而且在日常的开发中,可能你也会时常使用它,只是你可能并未想过这是一个设计模式。本文会从一些实例着手,来对本文要说明的外观模式进行尽可能全面的讲解。希望于你有益。原创 2016-06-06 00:11:17 · 6388 阅读 · 2 评论 -
Java设计模式——观察者模式
本文通过两个实例(分别是“气象观测站”和“计时器应用”),对Java设计模式中的观察者模式做一个详细的说明。原创 2015-11-25 00:35:51 · 19578 阅读 · 6 评论 -
Java设计模式——装饰者模式
本章可以称为“给爱用继承的人一个全新的设计眼界”。我们即将再度探讨典型滥用问题。你将在本章学到如何使用对象组合的方式,做到在运行时装饰类。为什么呢?一旦你熟悉了装饰者的技巧,你将能够在不修改任何底层代码的情况下,给你的(或别人的)对象赋予新的职责。原创 2015-05-25 15:57:36 · 3408 阅读 · 0 评论 -
Java设计模式——策略模式
策略模式其实是为了解决,针对同一个问题有多个不能的解决方式,也就是说提供了多种不同的解决策略。比如,我们对一个数组进行排序。那么这里就有冒泡排序、快速排序、归并排序等等不同的算法,这里我们就可以说这些是不同的策略。可以把这些不同的排序算法设计成策略模式。原创 2015-12-16 13:37:15 · 2882 阅读 · 1 评论 -
Java设计模式——单件模式
有一些对象其实我们只需要一个,比方说:线程池(threadpool)、缓存(cache)、对话框、处理偏好设置和注册表(registry)的对象、日志对象,充当打印机、显卡等设备的驱动程序的对象。事实上,这类对象只能有一个实例,如果制造出多个对象,就会导致许多的问题产生,例如:程序的行为异常、资源使用过量,或者是不一致的结果。原创 2015-05-26 14:25:50 · 5329 阅读 · 0 评论 -
Java设计模式——工厂模式
前言 工厂模式是一种比较常见的创建模式。有时,可能你使用了工厂模式而你却还不知道你已经使用了它。至少我感觉下面说的第一种简单工厂模式,你是已经很熟悉了。并且是经常使用的。不信,就继续向下看。版权说明著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。本文作者:Q-WHai发表日期: 2016年4月14日本文链接:https://qwhai.blog.cs...原创 2015-12-10 09:37:55 · 50273 阅读 · 8 评论 -
Java设计模式——原型模式
概述 原型模式是为了解决一些不必要的对象创建过程。当Java JDK中提供了Cloneable接口之后,原型模式就变得异常的简单了。虽然由于Cloneable的引入使用程序变得更简单了,不过还是有一些需要说明和注意的东西在里面的。文本就详细讲解一下这些注意事项吧。版权说明著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。本文作者:Q-WHai发表日期: ...原创 2016-03-03 13:50:15 · 4064 阅读 · 0 评论 -
Java设计模式——桥模式
桥模式(Bridge)是为了解决将抽象部分与实现部分分离,好让他们都在自己的维度上有多维度地变化。这句话是好理解的,只是我在学习完桥模式之后,存在一些疑问,还好现在想通了。现在我就桥模式的设计思想和我的疑问一并发出,希望于你有益。原创 2016-03-31 11:07:30 · 4023 阅读 · 3 评论 -
Java 代码细节与优化(一)
这篇博客是用来记录自己在写代码的过程中遇到的一些问题,以及解决方法,做一个总结,并且会一直更新,算是笔记吧。原创 2015-01-13 09:55:19 · 1984 阅读 · 0 评论 -
排序算法系列:冒泡排序与双向冒泡排序
**排序算法**应该算是一个比较热门的话题,在各个技术博客平台上也都有一些博文进行了一定程度的讲解。但还是希望能从自我完善的角度出发,可以更详细、全面、形象地表达这些算法的精髓。本文就先从最简单的冒泡排序开始说起,别说你已经彻底了解了冒泡排序算法(虽然一开始我也是这样以为的)。原创 2016-01-29 15:25:32 · 36417 阅读 · 16 评论 -
Java设计模式——Builder模式
builder模式的使用目的是为了将构建复杂对象的过程和它的部件解耦。将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。原创 2015-12-11 13:47:23 · 5239 阅读 · 2 评论 -
Effective Java:创建和销毁对象
读这本书第1条规则的时候就感觉到这是一本很好的书,可以把我们的Java功底提升一个档次,我还是比较推荐的。本博客是针对《Effective Java》这本书第2章所写的一篇读书笔记。博客中也有会一些个人对某个模块的理解和深入探究,希望与大家一起进步。原创 2015-06-25 00:35:11 · 2406 阅读 · 2 评论 -
修正Android基于ZXing的二维码扫描——横竖屏自由切换
此博客是基于开源的框架ZXing。ZXing用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。ZXing可以实现使用手机的内置的摄像头完成条形码的扫描及解码。该项目可实现的条形码编码和解码。原创 2015-06-30 19:02:36 · 5081 阅读 · 4 评论 -
基于ZXing的二维码,你可以这样改造它
如果你下载了ZXing的源码和ZXing的core.jar包,那么你现在就可以进行如下的一系列修改来自定义你的二维码扫描了。原创 2015-07-27 18:50:54 · 5053 阅读 · 3 评论 -
排序算法系列:归并排序算法
上一篇我们说了一个非常简单的排序算法——选择排序。其复杂程序完全是冒泡级的,甚至比冒泡还要简单。今天要说的是一个相对比较复杂的排序算法——归并排序。复杂的原因不仅在于归并排序分成了两个部分进行解决问题,而是在于,你需要一些算法的思想支撑。原创 2016-05-27 16:32:19 · 24462 阅读 · 3 评论