有了前面介绍的简单工厂模式,为什么又会出来一个工厂模式呢?它们之间的区别又在哪里?工厂模式的精髓又在哪里?
工厂方法模式: 定义一个用于创建对象的接口,主要解决了让子类决定实例化哪一个类,而不是像简单工厂一样,让工厂来直接决定实例化哪一个产品。工厂方法模式是对简单工厂模式的稍微改进。工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际工作推迟到子类中。
还以书上的计算器为例:
工厂模式...
分类:
其他好文 时间:
2016-07-17 00:12:17
阅读次数:
170
Retrofit:Android和Java的类型安全的HTTP客户端。
Introduction:
1.Retrofit把你的HTTP API转换成Java接口
public interface GitHubService {
@GET("users/{user}/repos")
Call> listRepos(@Path("user") String user);
}
2.R...
分类:
其他好文 时间:
2016-07-17 00:12:03
阅读次数:
290
自学习android以来,其实一直都有接触到 RecyclerView,今天便总结一下关于RecyclerView的相关知识,并不是非常全面。主要从以下几个方面:
RecyclerView概述
RecyclerView与ListView区别
RecyclerView基本使用
RecyclerView item单击与长按事件
RecyclerView item长按拖拽和侧滑删除
1. Recycler...
分类:
其他好文 时间:
2016-07-17 00:08:50
阅读次数:
266
所在包package java.util;继承AbstractQueue
实现java.io.Serializablepublic class PriorityQueue extends AbstractQueue
implements java.io.Serializable {
// 内部代码下面讲解
}五个变量 private static final long s...
分类:
其他好文 时间:
2016-07-17 00:05:49
阅读次数:
203
第十章 条件变量
作者:Allen B. Downey
原文:Chapter 10 Condition variables
译者:飞龙
协议:CC BY-NC-SA 4.0
像上一章所展示的那样,许多简单的同步问题都可以用互斥体解决。这一章中我会介绍一个更大的挑战,著名的“生产者-消费者”问题,以及一个用于解决它的新工具,条件变量。
10.1 工作队列
在一些多线...
分类:
其他好文 时间:
2016-07-17 00:04:43
阅读次数:
228
XMPP 全称Extensible Messaging and Presence Protocol,前称Jabber从本质上讲, 一个XML流作为会话期间发送的XML节的信封, 而另一个XML流作为会话期间接收的XML节的信封. 我们可以用如下的简化模型做一个展示.+--------------------+--------------------+
| INITIAL STREAM |...
分类:
其他好文 时间:
2016-07-17 00:04:23
阅读次数:
297
现在所在公司使用的是SQL SERVER数据库,所以想精通SQL查询和SQL优化
本文转载自这里写链接内容概述:独立子查询
相关子查询
关键词解释:外部查询:查询结果集返回给调用者内部查询:查询结果集返回给外部查询。独立子查询:独立子查询独立于其外部查询的子查询,可以单独运行子查询。在逻辑上,独立子查询在执行外部查询之前先执行一次,接着外部查询再使用子查询的结果继续进行查询。相关子查询:引用了...
分类:
其他好文 时间:
2016-07-17 00:06:02
阅读次数:
541
整个文件的布局
文件头
索引区
string_ids
type_ids
proto_ids
field_ids
method_ids
数据区
class_def
class_data_item
code_item
data
附录
测试用的Dex的java代码
参考资料
整个文件的布局整个Dex文件可以分成三部分,文件头、索引区、数据区,如下图所示。 文件头
记录Dex文件的概览、包含文件大小、校验...
分类:
其他好文 时间:
2016-07-17 00:04:40
阅读次数:
297
由于面向过程编程造成的代码膨胀问题越来越严重,使其维护的代价高,灵活性很低。为了使代码易维护、易扩展、易复用和灵活性好,所以我们在采用面向对象编程的时候,防止采用面向对象的语言实际上却做着面向过程的事儿,更需要采用某种设计模式,使程序变得高内聚,低耦合,这样的程序才能达到上面的四个优点。而简单工厂模式的出现也正是为了达到这样一种效果,将工厂和产品分块,具体解决了实例化那个对象(具体产品)的需求。从...
分类:
其他好文 时间:
2016-07-16 23:59:27
阅读次数:
505
打印 GC 日志这里以 IDEA 为例:菜单栏:
Run -> Edit Configurations -> VM options 添加 -XX:+PrintGCDetail
写个简单的测试程序package VM;/**
* Created by andy.wwh on 2016/7/16.
*/
public class TestPrintGcDetails {
public...
分类:
其他好文 时间:
2016-07-16 23:56:59
阅读次数:
680
一,ViewFlipper的基本知识:
(1)用途:常用于多个组件之间的切换,如动画播放,手势滑动切换,等等
(2)基本知识:继承自ViewAnimator,可调用addView(View v)添加多个组件
(3)基本方法:
flipper.startFlipping() ---- 开始自动播放动画
flipper.setInAnimation(上下文对象,动画布局)...
分类:
其他好文 时间:
2016-07-16 23:54:36
阅读次数:
543
抽象方法模式:提供一个创建一系列相关或互相依赖对象的接口,而无需指定他们具体的类。
三种模式的对比:
简单工厂模式
工厂模式
抽象工厂模式
产品
可以有多个但是都属于同一类,
同一等级。都继承产品抽象类。
可以有多个但是都属于同一类,同一等级。
都继承产品抽象类。
可以有不同种类的产品,每类有多中
具体产品;
抽象产品
只能有...
分类:
其他好文 时间:
2016-07-16 23:53:22
阅读次数:
396