概念:本文中的提升字段和前面的提升方法颇为相似,就是把子类公用的字段提升到基类中,从而达到公用的目的。
正文:如下代码所示, Account 的两个子类CheckingAccount 和SavingsAccount 都有minimumCheckingBalance
字段,所以可以考虑把这个字段提到基类中。
using System;
using System.Collecti...
分类:
其他好文 时间:
2015-07-21 13:01:06
阅读次数:
111
概念:本文所讲的移动方法就是方法放在合适的位置(通常指放在合适的类中)。
正文:移动方法是一个很简单也很常见的重构,只要是系统就会存在很多类,那么类里面包括很多方法,如果一个方法经常被另外一个类使用(比本身的类使用还多)或者这个方法本身就不应该放在这个类里面,那么这个适合应该考虑把它移到合适的类中。代码如下:
namespace LosTechies.DaysOfRefactor...
分类:
移动开发 时间:
2015-07-21 13:01:48
阅读次数:
157
最近接手到一个已经成型的项目,然后我们的任务就是对它进行重构,这个项目是一个功能很齐全的WPF视频播放器(附带很多其他功能),在仔细研究了项目的背景和架构以后,初步做出了一下的重构方案:
目前现状:
虽然整个系统做得很漂亮,代码也写得不错,但仍有以下不足:
架构有待改善。虽然看似MVC架构,却没有遵循MVC的模式,里面逻辑和UI耦合很高,没有清晰的规律。没有充分用到WPF的特性。...
分类:
其他好文 时间:
2015-07-21 13:01:50
阅读次数:
183
操作系统版本:
[oracle@oel11 OPatch]$ lsb_release -a
LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-i...
分类:
数据库 时间:
2015-07-21 13:00:31
阅读次数:
325
题目:
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.
For example:
Given the below binary tree...
分类:
编程语言 时间:
2015-07-21 12:59:51
阅读次数:
120
前面曾经介绍过空间域滤波,空间域滤波就是用各种模板直接与图像进行卷积运算,实现对图像的处理,这种方法直接对图像空间操作,操作简单,所以也是空间域滤波。频域滤波说到底最终可能是和空间域滤波实现相同的功能,比如实现图像的轮廓提取,在空间域滤波中我们使用一个拉普拉斯模板就可以提取,而在频域内,我们使用一个高通滤波模板(因为轮廓在频域内属于高频信号),可以实现轮廓的提取,后面也会把拉普拉斯模板频域化,会发现...
分类:
编程语言 时间:
2015-07-21 13:01:10
阅读次数:
1780
Qt起步
仅为官方文件翻译,原文地址:http://doc.qt.io/qt-5/gettingstarted.html
Qt框架和工具可以在线安装也可以离线安装也可以从源代码构建。使用在线工具,你可以选择Qt版本,工具,附加组件,并且可以使用和你的Qt账户关联的许可证。
离线安装包包含了目标平台所需的所有的Qt组件。
你可以从从下载页面(http://www.qt.io/download...
分类:
其他好文 时间:
2015-07-21 13:00:50
阅读次数:
158
IPython 支持两种形式的绘图
终端输出图像
新窗口输出图像
方式 1 能够非常方便的保存输出记录(如将`IPython 终端输出转换成 Html 文件)方式 2 则可以交互式的放大、拖动图片,并且能将图片保存成不同的格式在终端窗口中输出图片的命令是:In [3]: %matplotlib inline在图片窗口表现图片的命令是:In [4]: %matplotlib qt效果如下所示:
可以...
分类:
编程语言 时间:
2015-07-21 13:01:00
阅读次数:
202
1 Struts2工作原理
一个请求在Struts2框架中的处理大概分为以下几个步骤:
1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求;
2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMeshPlugin...
分类:
编程语言 时间:
2015-07-21 13:00:35
阅读次数:
119
相信写过C++的人肯定用过:
string str2(“11”);
string str1 = str2;
现在就让我深入挖掘下string str1 = str2;所包含的内容。
第一层:
把str2的内容“11”复制给了str1
第二层:
先定义了str1对象,把str2对象赋值给str1
第三层:
string类型为什么能够赋值,原来string实现了赋值运算符重载...
分类:
编程语言 时间:
2015-07-21 13:00:25
阅读次数:
159
题目链接:http://bailian.openjudge.cn/practice/2815/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LL long long
using namespace std;
int r,c;
int rooms[...
分类:
其他好文 时间:
2015-07-21 12:58:37
阅读次数:
123
题意:
N个点,再点上建M个消防站。
问消防站到每个点的最大距离的最小是多少。
思路:
DLX直接二分判断TLE了。
这时候一个很巧妙的思路
我们求的距离一定是两个点之间的距离
因此我们把距离都求一遍排序一下。
然后用下标二分 这样就AC了。
代码:
#include"stdio.h"
#include"algorithm"
#include"string.h"
#inclu...
分类:
其他好文 时间:
2015-07-21 12:58:45
阅读次数:
119
ansible 默认提供了很多模块来供我们使用。在 Linux 中,我们可以通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块,通过 ansible-doc -s 模块名 又可以查看该模块有哪些参数可以使用。
下面介绍比较常用的几个模块:
1
2
3
4
5
6
7
8...
分类:
其他好文 时间:
2015-07-21 12:58:53
阅读次数:
690
MVC设计模式
在进行IOS程序开发的时候,若对MVC设计模式不了解的话,是很难做出良好性能的程序.现将作者本人对于MVC设计模式的一些
粗浅看法记载余下,希望能对读者有所帮助.
MVC设计模式
在MVC设计模式中,对象被分为三组,分别扮演着模型,视图,控制器.而我们的任务则是确定对象或类应该属于这三组中的哪一组.
(1)模型:
在模型对象中封装数据...
分类:
移动开发 时间:
2015-07-21 13:00:44
阅读次数:
202
最近杂七杂八的忙碌着,前几天看了下这部分主要是stagefright模块的,所以更改下名字
做了挺长时间的android平台的媒体开发,对之前的分析进行一个阶段性的总结。
一、android结构图(上下文关系)
二、android目录结构
自从android4.2版本之后,媒体的相关代码都放到framework/a...
分类:
其他好文 时间:
2015-07-21 13:00:24
阅读次数:
284
之前Android的ActionBar好像做项目从没用过,除了google自己,并没有多少人用,究其原因,主要是因为ActionBar不够灵活,不能够随心所欲的定制,后来Goole也发现了这一点,然后,就诞生了今天的主角ToolBar,Toolbar是一个新出的控件,用来代替ActionBar,它本身是一个ViewGroup,所以有良好的可定制性,例如,你可以在里面防止布局,LinearLayou...
分类:
移动开发 时间:
2015-07-21 12:57:50
阅读次数:
181