一、描述
外观模式又叫门面模式,就是对一个复杂的系统进行包装,该系统对外的接口统一由外观类提供。当一个复杂的系统需要对外提供接口时,就需要将对外提供的接口统一封装在一个外观类中供外系统使用。外观模式最大的特点就是将细粒度的对象包装成粗粒度的对象,应用程序通过访问这个外观对象来完成细粒度对象的调用。这样应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程...
分类:
编程语言 时间:
2015-05-02 23:27:48
阅读次数:
212
一、描述
单例模式就是确保一个类只有一个实例对象,并且在实例对象必须自动创建,对外不提供该对象的构造方法,并向整个系统提供该实例。使用单例模式相当于整个系统共用该类的实例对象,对于java中的并发访问有重要意义。
单例模式又分为饿汉模式和饱汉模式两种,饿汉模式就是在类加载的时候就创建和初始化该类的唯一的实例对象,而饱汉模式是系统需要用到这个类的实例的时候才创建该对象。
二、单例模式的...
分类:
编程语言 时间:
2015-05-02 15:11:32
阅读次数:
153
一、描述
原型模式是通过一个原型对象来标明要创建的对象的类型,然后用复制这个原型对象的方法来拷贝创建更多的同类型对象。例如我们在程序的动态运行过程中有了一个对象,这个对象中包含了一系列的有效数据,我们此时需要一个和该对象完全相同的新对象,并且在拷贝之后,新旧对象之间没有任何联系,对任何一个对象的更改都不影响另一个对象。
在java中所有类都默认继承自java.lang.Object类,在这个O...
分类:
编程语言 时间:
2015-05-01 22:37:46
阅读次数:
208
一、描述
创建者模式单独利用一个创建者类来创建对象并组建对象之间的关系,以简化客户端调用的复杂性。相对于抽象方法模式来说,创建者模式增加了一个单独的用于组装对象和对象之间关系的创建者类,由该类来负责对象的组装,以此来更加清晰地划分各个类的职责。
创建者模式将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示,而且对客户端屏蔽了对象的构建细节,该模式主要由5个部分组成:组装类...
分类:
编程语言 时间:
2015-05-01 17:25:31
阅读次数:
190
一、描述
抽象工厂模式是在工厂方法的模式上进一步抽象而来,如果说工厂方法模式是对一个产品结构的创建而言的话,那么抽象工厂模式则是针对多个产品结构而言的,它被用来一次创建多个不同的产品对象。
我们要创建一个摩托车轮胎和摩托车把手,又要创建一个自行车轮胎和自行车把手,如果我们使用工厂方法模式的话我们需要四个类:创建摩托车轮胎的工厂类,创建摩托车把手的工厂类,创建自行车轮胎的工厂类和创建自行车把手的...
分类:
编程语言 时间:
2015-05-01 12:04:09
阅读次数:
156
一、描述
基于简单工厂模式中将所有类的创建和初始化放在一个工厂类中出现的问题,我们引进了工厂方法模式,该模式是GoF总结的23种设计模式的第一种,这个设计模式将一个工厂类拆分成多个具体的工厂类,每个具体的工厂类负责相应的类的对象的创建。
在工厂方法模式中,抽象工厂类负责定义创建对象的接口,具体对象的创建由实现该抽象工厂的具体工厂类来完成,它由四部分组成:抽象工厂类、实现抽象工厂类的具体工厂类、...
分类:
编程语言 时间:
2015-04-30 23:18:38
阅读次数:
309
第二十三章. Java 插件
Java 插件向一个项目添加了 Java 编译、 测试和 bundling 的能力。它是很多其他 Gradle 插件的基础服务。
23.1. 用法
要使用 Java 插件,请在构建脚本中加入:
示例 23.1. 使用 Java 插件
build.gradle
apply plugin: 'java'
23.2 源集
Java 插件引入了一个源集的概念。一个源集只是一组用于编译并一起执行的源文件。这些源文件可能包括 Java 源代码文件和资源文件。其他有一些插件添加了在源集...
分类:
编程语言 时间:
2015-04-29 09:55:46
阅读次数:
285
1.标准目录结构:src -main –bin 脚本库 –java java源代码文件 –resources 资源库,会自动复制到classes目录里 –filters 资源过滤文件 –assembly 组件的描述配置(如何打包) –config 配置文件 –webapp web应用的目录。WEB-...
分类:
移动开发 时间:
2015-04-27 21:25:40
阅读次数:
202
new ArrayList()
1.5版本的jdk中默认初始化长度是10。
1.7以及往上是0,添加元素后才默认为10(或者更大) 。为什么要这么设计,为什不直接像1.5那样直接将长度初始化为10呢?
1.5直接将数组的长度定义为10,
源码如下
public ArrayList(int initialCapacity) {
super();
if (initia...
分类:
编程语言 时间:
2015-04-26 19:46:57
阅读次数:
232
Java源代码package yly;import java.util.Scanner;public class ruanjian {public static void main(String[] args) {// TODO Auto-generated method stubString q ...
分类:
其他好文 时间:
2015-04-24 22:42:03
阅读次数:
175