1. 模式的定义问题的描述://这种方式与面向接口编程的封装行为相悖
Api api = new Impl();现在的Client,它知道要使用Api接口,但是不知由谁实现,也不知道如何实现,该怎么办?简单工厂的定义:
提供一个创建对象实例的功能,而无需关心其具体实现。
2. UML图
Api:定义客户端所需要的功能接口
ImplA,ImplB:具体实现Api的实例类
Factorty:工...
分类:
其他好文 时间:
2016-07-10 18:45:11
阅读次数:
96
剧情提要:
为什么会有希腊神话,因为一个文明需要记录它的历史,而希腊历史很不幸地因为
断代原因,造成了明知道存在爱琴文明,却丧失了所有记录的境地,这个补全历史
的艰巨任务,就落到了史诗作者的肩头,所以,选择编造神话是唯一的解决途径。
正剧开始:
星历2016年07月09日 15:56:17, 银河系厄尔斯星球中华帝国江南行省。
[工程师阿伟]正在和[机器小伟]一起研究[神之物语...
分类:
其他好文 时间:
2016-07-10 18:45:18
阅读次数:
344
自定义线性布局经常用到:
第一种是在扩展的LinearLayout构造函数中使用Inflater加载一个布局,并从中提取出相关的UI组件进行封装,形成一个独立的控件。在使用该控件时,由于它所有的子元素都是在运行时通过代码动态创建的,所以该控件只能以一个独立控件的形式在Layout文件中声明,例如:
public class CustomLayout extends LinearLayout{
...
分类:
移动开发 时间:
2016-07-10 18:43:42
阅读次数:
194
1. 模式定义问题描述:
通常在导出数据上会有一些约定的格式,比如导出成文本格式,数据库备份形式,Excel格式,Xml格式。
对于实现数据导出的业务功能对象,它需要创建ExportFileApi的具体实现对象,但是它知道ExportFileApi接口,而不知道其具体的实现,那该怎么办?
工厂方法模式的定义:
定义一个用于创建对象的接口,让子类决定去实例化哪一个类,Factory Me...
分类:
其他好文 时间:
2016-07-10 18:44:54
阅读次数:
163
一、Touch的三个重要方法
在Android中,与触摸事件也就是 Touch 相关的有三个重要方法,这三个方法共同完成触摸事件的分发。
public boolean dispatchTouchEvent(MotionEvent ev) :事件分发public boolean onInterceptTouchEvent(MotionEvent ev):事件拦截public boolea...
分类:
移动开发 时间:
2016-07-10 18:43:59
阅读次数:
272
系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpui...
分类:
系统相关 时间:
2016-07-10 18:42:21
阅读次数:
296
BackpressureRx 中的数据流是从一个地方发射到另外一个地方。每个地方处理数据的速度是不一样的。如果生产者发射数据的速度比消费者处理的快会出现什么情况?在同步操作中,这不是个问题,例如:// Produce
Observable producer = Observable.create(o -> {
o.onNext(1);
o.onNext(2);...
分类:
编程语言 时间:
2016-07-10 18:42:52
阅读次数:
400
简介虽然目前市面上有一些不错的加密相册App,但不是内置广告,就是对上传的张数有所限制。本文介绍了一个加密相册的制作过程,该加密相册将包括多密码(输入不同的密码即可访问不同的空间,可掩人耳目)、WiFi传图、照片文件加密等功能。目前项目和文章会同时前进,项目的源代码可以在github上下载。
点击前往GitHub概述本文主要介绍加密相册的登录验证与注册模块的实现。注册时只需要密码,每个密码对应一个...
分类:
移动开发 时间:
2016-07-10 18:42:03
阅读次数:
203
题目描述:一个整数可以拆分为2的幂的和,例如:7 = 1+ 2 +
47 = 1 + 2
+ 2 + 27 = 1 + 1
+ 1 + 47 = 1 + 1
+ 1 + 2 + 27 = 1 + 1
+ 1 + 1 + 1 + 27 = 1 + 1
+ 1 + 1 + 1 + 1 + 1总共有六种不同的拆分方式再比如: 4可以拆分成:
4 = 4, 4 = 1+1+1+1...
分类:
其他好文 时间:
2016-07-10 18:42:36
阅读次数:
145
WebX3原理分析1 前言抽空总结了Webx3框架,如有错误,欢迎指正!2 背景知识2.1 MavenMaven主要解决了以下两个问题:(1)、它为项目构建引入了一个统一的接口,抽象了构建的生命周期,并为生命周期中的绝大部分任务提供了实现的插件。你不需要去关心这个生命周期里发生的事情,只需要把代码放在指定的位置,执行一条命令,整个构建过程就完成了。(2)、其次,它为Java世界里的依赖引入了经纬度(...
分类:
Web程序 时间:
2016-07-10 18:41:46
阅读次数:
269
from twisted.internet.protocol import Protocol
from twisted.internet import reactor
from twisted.internet.protocol import Factory
from twisted.internet.endpoints import TCP4ServerEndpoint
#http://blog...
分类:
编程语言 时间:
2016-07-10 18:40:13
阅读次数:
167
设计模式源码下载地址
设计模式源码下载地址
1 单一功能原则
单一功能原则(Single responsibility principle)规定每个类都应该有一个单一的功能,并且该功能应该由这个类完全封装起来。所有它的(这个类的)服务都应该严密的和该功能平行(功能平行,意味着没有依赖)。
围观设计模式(1)--单一功能原则
2 里氏替换原则
在面向对象的程...
分类:
其他好文 时间:
2016-07-10 18:42:38
阅读次数:
141
一Web应用程序
(1)什么是Web应用程序
应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览
器端/服务器端应用程序,这类应用程序一般借助浏览器来运行。
Web应用程序一般是B/S模式。Web应用程序首先是应用程序,和用标准的程序语言,如Java、PHP等编写出来
的程序没有什...
分类:
编程语言 时间:
2016-07-10 18:41:31
阅读次数:
358
本文介绍Oracle 12c 推出的自适应连接方法(Adaptive Join Methods)和自适应并行分布方法(Adaptive Parallel Distribution Methods APDM)...
分类:
数据库 时间:
2016-07-10 18:41:27
阅读次数:
329
Cocos2d-x 3.x内存管理机制1:C++内存管理1-1:内存分配区域创建对象需要两个步骤:第一步,为对象分配内存;第二步,调用构造函数初始化内存。在第一步中,可以选择几个不同的分配区域。这几个区域如下:(1) 栈区域分配。栈内存分配运算内置于处理器的指令集中,效率很髙,但是分配的内 存容量有限。由处理器自动分配和释放,用来存放函数的参数值和局部变量的值等。在执 行函数时,函数内局部变量的存储...
分类:
其他好文 时间:
2016-07-10 18:40:21
阅读次数:
138
1、概述
Oracle函数处理三种类型的数值:单值、值组和值列表。
这些函数跟串函数一样,用来更改数值或者是返回数值相关的信息。
数值类型区分如下:
单值:只是一个数值,如常数值、PL/SqL等中的变量。数据库的一列和一行的一个数字等。Oracle的单值函数通常通过计算来更改这些值。
值组:一系列数据行中的某一列的所有数值数据。Oracle值组函数提供的是整个组的信息,如求某一列的平均数。
值列表:可能是一列数字,如1、2、3、4.5、PL\SQL等中的变量、...
分类:
数据库 时间:
2016-07-10 18:42:06
阅读次数:
280
Window对象是客户端javascript最高层对象之一,只要打开浏览器窗口,不管该窗口中是否有打开的网页,当遇到BODY、FRAMESET或FRAME元素时,都会自动建立window对象的实例。另外,该对象的实例也可由window.open()方法创建。由于window对象是其它大部分对象的共同祖先,在调用window对象的方法和属性时,可以省略window对象的引用。例如:window.do...