JAVA学习笔记(五十七)- 常用设计模式
2015-04-05 14:25
495 查看
单例模式
/* * 单例模式 * 应用场合:有些对象只需要一个,此时可以使用单例模式 * 作用:保证整个应用中某个实例有且只有一个 * 类型:饿汉模式、懒汉模式 */ public class Test04 { // 1.将构造方式私有化,不允许外界直接创建对象 private Test04() { } // 2.创建类的唯一对象,使用private static修饰 private static Test04 instance=new Test04(); // 3.提供一个用于获取唯一实例的方法,使用public static修饰 public static Test04 getInstance(){ return instance; } }
懒汉模式
/* * 懒汉模式 * 区别: * 1.饿汉模式的特点,在类加载时会创建类的唯一实例,导致类加载比较慢,但运行时获取对象的速度较快,线程安全 * 2.懒汉模式的特点,在第一次获取实例时会创建类的唯一实例,导致第一次获取时较慢,但类加载比较快,线程不安全 * */ public class Test05 { // 1.将构造方法私有化 private Test05() { } // 2.声明类的唯一实例,但并未实例化 private static Test05 instance; // 3.提供一个用于获取唯一实例的静态方法 public static Test05 getInstance() { if(instance==null){ instance=new Test05();//判断如果为空,则创建一个唯一的实例 } return instance; } }
工厂模式
/* * 工厂模式Factory Method * 简单工厂模式 * 定义:建立一个工厂类,对实现了同一个接口的多个类进行实例化对象的操作 */ public class Test06 { public static void main(String[] args) { Factory factory=new Factory(); Moveable m1=factory.product("plane"); Moveable m2=factory.product("bus"); Moveable m3=factory.product("bike"); m2.move(); } } interface Moveable { public void move(); } class Plane implements Moveable { @Override public void move() { System.out.println("马航死亡航班。。。"); } } class Bus implements Moveable { @Override public void move() { System.out.println("昌河校车。。。"); } } class Bike implements Moveable { @Override public void move() { System.out.println("捷安特自行车"); } } /* * 生产产品的工厂类 */ class Factory { public Moveable product(String need) { if (need.equals("plane")) { return new Plane(); } else if (need.equals("bus")) { return new Bus(); } else { return new Bike(); } } }
相关文章推荐
- 11. JAVA常用类库 Part 4 (对象克隆技术clone、Arrays类、Comparable接口、比较器Comparator、观察者设计模式) ----- 学习笔记
- Java设计模式学习笔记---单一职责原则(一)
- [学习笔记]jsp+javaBean+Servlet 的设计模式MVC 的实例
- java 设计模式 学习笔记(10) 外观模式
- java 设计模式 学习笔记(9) 模板方法模式
- 看java设计模式感想②,学习工厂模式的笔记
- java 设计模式 学习笔记(1) - 简单工厂模式
- java 设计模式学习笔记(13) - 适配器模式
- java学习笔记(二十七)抽象类与设计模式
- java 设计模式 学习笔记(15) 组合模式
- java 设计模式 学习笔记(17) 桥接模式
- Java设计模式 -- 学习笔记
- java 设计模式学习笔记(12) - 观察者模式
- java 设计模式 学习笔记(3) 抽象工厂模式
- 黑马程序员 java学习笔记3-IO流之字节流与装饰设计模式
- JAVA与模式学习笔记之设计原则
- java 设计模式 学习笔记 (2) - 工厂方法模式
- java 设计模式 学习笔记(5) 装饰模式
- Java学习笔记四。设计模式、基本数据类型、包装类、异常、断言、包、访问权限、命名规范、jar
- java 设计模式 学习笔记 (14) 备忘录模式