Java设计模式
披Zhe羊皮De狼
好记性不如烂笔头!
展开
-
设计模式之Iterator(一)
实现动态添加对象的容器。 实现一:手动编写ArrayList package com.awiatech.iterator; /** * 一个动态添加对象的容器,底层使用数组模拟。 * 与数组相比的好处:不用考虑数组的边界问题,可以动态扩展。 * @author Chicago * */ public class ArrayList { Object[] objects原创 2016-04-27 13:29:51 · 301 阅读 · 0 评论 -
设计模式之Iterator(三)
容器中泛型的使用,取出更方便(不用转型) package com.awiatech.iterator.generic; public class GenericArrayList { Object[] objects = new Object[10]; // 定义一个长度为10的数组 int index = 0; // 数组索引指向 /** * 数组中添加元素 * @para原创 2016-04-27 23:05:48 · 286 阅读 · 0 评论 -
设计模式之Iterator(二)
在上一节的基础上,考虑遍历容器 package com.awiatech.iterator; import com.awiatech.iterator.ArrayList; import com.awiatech.iterator.LinkedList; /** * 测试类用于测试容器的功能。 * @author Chicago * */ public class Test {原创 2016-04-27 22:26:17 · 360 阅读 · 0 评论 -
设计模式之单例设计模式(Singleton)
单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中只有一个对象实例存在。 好处: 1)某些类创建比较繁琐,对于一些大型的对象,这是一笔很大的系统开销。 2)省去new操作符,降低了系统内存的使用频率,减轻GC压力。 package com.usst.chicago; public class Singleton { //私有静态实例,防止原创 2016-05-11 13:10:08 · 406 阅读 · 0 评论 -
设计模式之抽象工厂模式(Abstract Factory)
工厂方法模式有一个问题:类的创建以来工厂类。也就是说,如果想要扩展程序,必须对工厂类进行修改,这违背了闭包原则。所以,从设计角度考虑,有一定的问题。如何解决呢?用到抽象工厂模式,创建多个工厂类。这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。 定义接口: package com.usst.chicago; public interface Sender {原创 2016-05-12 17:03:30 · 394 阅读 · 0 评论 -
设计模式之工厂方法模式(Factory Method)
一、普通工厂模式:建立一个工厂类,对实现了同一接口的一些类进行实例的创建。 创建共同接口: package com.usst.chicago; public interface Sender { public void send(); } 创建实现类: package com.usst.chicago; public class MailSender implements Se原创 2016-05-12 18:03:57 · 360 阅读 · 0 评论 -
设计模式之建造者模式(Builder)
工厂类模式提供的时创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性。其实,建造者模式就是前面抽象工厂模式和最后Test的结合。 一个接口: package com.usst.chicago; public interface Sender { public void send(); } 两个是实现类: packag原创 2016-05-12 18:21:26 · 410 阅读 · 0 评论 -
设计模式之原型模式(Prototype)
原型模式虽然是创建型模式,但是与工厂模式没有关系。该模式的思想:是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。 创建一个原型类: package com.usst.chicago; public class Prototype implements Cloneable { public Object clone() throws CloneNotSupport原创 2016-05-12 23:16:04 · 456 阅读 · 0 评论 -
Java中23种设计模式简介
设计模式有三种类型,分别为创建型、结构型、行为型。 (一)创建型 1)Singleton,单例模式:一个类只有一个实例,提供了一个访问它的全局变量。 2)Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,无须指定具体的类。 3)Factory Method,工厂方法:提供一个创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类原创 2016-05-05 16:26:12 · 528 阅读 · 0 评论