自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

用Fragments在Android中进行多窗格开发

本文翻译于vogella.com。 在Android应用程序中使用Fragments这篇教程描述了怎样在Android 应用程序中使用Fragment类来创建多窗格布局,也就是可以缩放到设备的可用宽度的应用程序。它基于Eclipse 4.3(Kepler),Java1.6和Android4.4。 1.Android基础下面的描述假设了你已经掌握了基本的Android开发...

2014-04-09 15:46:27 198

设计模式:中间人模式

中间人设计模式是用于协作一组同事。这些同事相互之间不直接沟通,而是通过中介。在下面的例子中,同事A想要说话,同事B想要打架。当他们做动作(例如doSomething)的时候,他们调用中间人去做那些动作或事情。1、中间人类图2、代码实例package com.leon.mediator;interface IMediator { public void fight()...

2014-01-17 10:50:14 700

设计模式:迭代器模式

迭代器是用于遍历一个对象的集合。它是一个比较常用的模式,你之前或许就用过。当你看到像hasNext()和next()的东西时,它或许就是一个迭代器模式。例如,你可能遍历一个数据查找记录的列表。1、迭代器模式类图 2、迭代器模式Java代码interface IIterator{ public boolean hasNext(); public Object next();...

2014-01-16 09:56:09 152

设计模式:命令模式

命令设计模式需要一个操作和附带的参数,并将它们封装在一个对象中来执行,记录等等。在下面的例子中,命令是一个操作,它的参数是一个Computer,而且它们封装在Switch。从另一个角度看,命令模式有4个部分:命令,接收者,调用者和客户端。在这个例子中,Switch是调用者,Computer是接收者。一个具体的命令有哥接收器对象并调用接收器中的方法。调用者可以使用不同的具体的命令。客户端为接...

2014-01-15 12:56:41 154

设计模式:责任链模式

责任链模式的主要思想是是建立一个链处理单元,每一个单元如果满足条件都会处理请求。由于是链构建,如果一个单元不满足条件,那么就测试下一个单元等。每一条请求都会沿着链处理。1、类图 2、实例代码package com.leon.chain;public abstract class Chain { public static int One = 1; public s...

2014-01-14 11:36:38 108

设计模式:访问者模式

访问者模式是在编译器的解析器常用的设计模式,例如,Eclipse JDT AST解析器。基本上,在访问者模式中有两个接口——访问者和元素。1、访问者的故事假设有一个第一次来到纽约的游客。他想去游览这个城市而且这个城市也接收他游览。一旦游客开始游览,就会自动游览所有的事物,并且当他想去一个博物馆的时候他不必去调用任何方法。这个旅游是一个package!2、访问者模式类图3、访问...

2014-01-13 13:12:00 153

设计模式:模版方法模式

模板方法设计模式定义了达到特定操作的工作流程。它允许子类不改变工作流程的结构去修改某些步骤。下面的例子展示了模板方法模式是怎样运作的。1、类图 2、Java代码Vehicle.java定义了一个vehicle和它怎么样运作。 package com.leon.templatemethod;public abstract class Vehicle { // 设置成...

2014-01-10 13:34:37 134

原创 Java中库vs框架

一个Java库和一个框架之间的区别是什么?这两种概念都非常重要但是有时候也令Java开发者感到困惑。 1、库和框架的主要不同点以及定义库和框架之间主要的不同点是“控制反转”。当你调用一个库中的方法时,你在控制。但是用框架时,控制权反转了:框架在调用你的代码。 库仅仅是一个类定义的集合。背后的原因就是简单的代码复用,即得到那些其他开发者编写的代码。那些类和方法通常在一个域特定区域...

2014-01-09 13:59:42 242

原创 设计模式:策略模式

永远不要轻言放弃 原文地址:http://www.programcreek.com/2011/01/a-java-example-of-strategy-design-pattern/***********************************************碎碎念的分割线*************************************************...

2014-01-07 13:41:13 126

原创 设计模式:状态模式

状态模式主要是为了在运行的时候来回切换状态。1、状态模式故事人们生活在不同的财富状况下,他们有些富有,有些却贫穷。这两种状态——富有和贫穷,随着时间的推移可能会相互转化。人们在贫穷的时候通常都会努力工作,而富有的时候常常玩乐。他们干什么取决于他们生活在贫穷还是富有状态下。他们的行动作为又影响贫富状态的变化,要不然,人类社会就不公平了。2、类图下图就是它的类图,你可以比较下策略模...

2014-01-04 20:42:31 134

原创 设计模式:观察者模式

简而言之,观察者模式就是发布者+订阅者。观察者模式常常用在GUI的动作监听器上。下面是一个典型的关于猎头的例子。在下图中有两个角色——猎头和求职者。求职者订阅了一个猎头,当猎头手里有新的工作机会的时候就通知求职者。1、类图 2、实例代码主体接口public interface Subject { public void registerObserver(Observe...

2014-01-03 11:19:01 171

原创 Leon的201314

        时光你慢些走,慢慢走...         每当在这种节日性的时刻才意识到,时间过得好快。匆匆忙忙的过去了2013年的上半年,那可真是匆忙。经常性的会工作到10-11点,到家都12点的节奏。不过累但比较充实,虽然这种忙碌不是自己想要的那种。至于为什么不是自己想要的那种。因为感觉自己就像一台机器那样,来一个螺丝我就拧一拧,来一堆螺丝就一天不停的拧。没人想要这样吧,人都...

2014-01-02 14:36:13 127

原创 设计模式:享元模式

享元模式用来最大限度的减少内存使用。它所做的就是尽可能多的同其他类似对象共享数据。通常与工厂模式一起使用。1、类图 2、JAVA代码实例 // 享元对象接口interface ICoffee { public void serveCoffee(CoffeeContext context);} // 具体的享元对象class Coffee implement...

2014-01-02 10:55:26 129

原创 设计模式:装饰器模式

装饰器模式可以动态地向一个已经存在的对象实例添加额外其他的功能。下面,用一个简单的小例子——打扮你的女友,来讲解装饰器模式。1、装饰器小故事假设你正在找一个妹子,这些妹子可能来自不同的国际,例如,America, China, Japan, France, 等等。她们也有不同的个性和习惯。在一个(像百合网)相亲的网站上,如果每一种类型的妹子都是各不相同的Java类的话,这可就有成千上万个...

2013-12-31 15:30:40 182

原创 设计模式:组合模式

组合模式(Composite)相对比较简单;但是在关于设计的地方很多都用到了这种模式。例如,SWT,Eclipse  Workspace等等。组合模式一般用来生成一个可以通过同一方法来访问不同层级的树。1、类图 下面的代码例子实现了如下树状数据结构。 2、代码实例import java.util.List;import java.util.ArrayList; /...

2013-12-30 10:19:40 147

原创 设计模式:桥接模式

简单点说,桥接模式就是一种具有两个层次的抽象。桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接模式采用封装、聚合以及继承将责任分配到不同的类中。1、 桥接模式的故事电视和电视遥控器的例子可以说明这个两层的抽象。你有TV的接口和Remote Control的抽象类。我们知道,由于不同的设备生产商会制作不同的电视遥控器和电视,所以写具体的TV和Remote Contr...

2013-12-27 17:08:48 191

原创 设计模式:适配器模式

适配器模式在现代流行的框架中经常用到。当你想用一个已经存在的类,但这个类的接口与你要求的接口不一直;或者你想创建一个与没有兼容的接口或不相关类协作的可复用的类时候,适配器模式就能派上用场。1、适配器的故事我们用下面的例子来展示适配器模式,这个例子的目的是将Orange适配成Apple。 如上图所示,AppleAdapter包含一个Orange的实例,并且继承自Apple。这看起来...

2013-12-26 15:46:56 160

原创 设计模式:原型模式

当你频繁需要创建同类或者相似的对象实例的时候可以使用原型设计模式。原型设计模式就是克隆一个对象实例,再设置可改变的特征,就得到了一个相似或者同类的对象实例。这样可以减少资源的消耗。思考下,为什么能减少资源消耗。1、原型模式类图 2、代码实例package com.leon.prototype;/** * 设计模式——原型模式,实例代码 * * @author ...

2013-12-25 21:50:07 109

原创 设计模式:单例模式

单例模式是Java编程中用到最多的一种设计模式。这种模式用于控制对象的数量并防止外部实例化和修改。这种理念可以推广到只存在一个对象时能更有效地运作的系统中,或者对对象实例化有要求的地方。例如:       1.私有化构造方法——没有类能够创建实例;       2.私有引用——不能修改;       3。公共静态方法——只能从此方法得到对象实例。1、单例模式趣解下面是一个简...

2013-12-18 15:12:21 142

原创 设计模式:解释器模式

解释器模式,用在有上下文需要被解释的时候。下面的例子是一个非常简单的解释器实现。怎么将字母'a'和'b'解释成'1'和‘2’。1、类图2、实例代码class Context { private String input; private String output; public Context(String input) { ...

2013-12-17 11:01:11 130

原创 设计模式:备忘录模式

未来,时间旅行真的可以实现。备忘录则是时间旅行的关键,因为它能够让一个物体还原到以前的状态。在下面的例子中,你可以通过时间旅行到你人生的任何时间点,你也可以还原到你曾经到经历过的任何时间点。1、备忘录模式类图 2、备忘录模式实例代码package designpatterns.memento;import java.util.List;import java.util....

2013-12-16 10:53:06 160

原创 设计模式:建造者模式

建造者模式的主要特征是它包含一个逐步处理的步骤来创建东西,也就是说,虽然每一步的实现是不同的但是创建对象的过程都遵循相同的步骤。1、建造者模式类图 2、代码实例 package designpatterns.builder; // 创建产品class Starbucks { private String size; private String drink;...

2013-12-13 16:21:03 126

原创 设计模式:抽象工厂模式

1、简述抽象工厂模式在工厂模式的基础上多添加了一层抽象,跟工厂模式比较一下,这个很容易看得出来。抽象工厂是一个工厂的父类,用来创建其他工厂。可以说是生产工厂的工厂。2、抽象工厂类图 3、抽象工厂实例代码interface CPU { void process();} interface CPUFactory { CPU produceCPU();}...

2013-12-13 14:58:14 131

原创 设计模式:工厂模式

1、简述工厂模式是通常用不同的参数来创建不同(属性不同等)对象实例的一种模式。下面的例子就是用工厂来创建人类Humen。如果你请求工厂创建一个男孩,工厂就给你一个男孩的实例,如果你请求工厂创建一个女孩,工厂就给你一个女孩实例。基于你传入的参数,工厂创建不同的实例。2、工厂模式类图3、实例代码interface Human { public void Talk();...

2013-12-13 14:44:14 131

设计模式:外观模式

设计模式:外观模式            外观设计模式(Facade design pattern)隐藏了任务内部错综复杂的处理而为我们提供了简单的功能接口。电脑的启动是一个很好的例子。电脑的启动包含CPU启动,内存启动,硬盘启动等等。为了能让用户简便使用,我们添加一个外观,仅仅提供一个简单的接口,来隐藏电脑内部繁琐或者负责的内部处理。 1、外观模式的类图2、外观模式的例子 ...

2013-12-12 15:34:50 137

原创 频繁调用互斥操作——Java

       开发中遇到的问题:看到项目先前实现的代码,有一个逻辑处理,要完成两个界面的切换,而且这个两个界面的切换会共同设置系统的同一个资源的状态,且设置状态的操作(系统中间件已经做了互斥)比较耗时。先前的代码采用了新建线程来设置资源状态来保证主线程不被阻塞。这就出现了一个问题,如果频繁操作切换的话,就会出现系统资源的状态错乱。       应用调用:Thread call stat...

2013-12-12 13:38:55 230

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除