Java-马士兵设计模式学习笔记-工厂模式-简单工厂
2015-06-18 17:07
826 查看
一、概述
1.目标:要控制任意类型交通工具的生产模式
2.目标有两层意思(1)任意类型 (2)生产模式,所以对应的,要这两个层面上抽象(Movable,VehicleFactory),利用接口,实现多态
二、类结构
1.Interface Movable.java
2.Car.java
3.Plane.java
4.Interface VehicleFactory.java
5.CarFactory.java
6.PlaneFactory.java
三、代码
1.Movable.java
2.Car.java
3.Plane.java
4.VehicleFactory.java
5.CarFactory.java
6.PlaneFactory.java
7.Test.java
8.测试结果
1.目标:要控制任意类型交通工具的生产模式
2.目标有两层意思(1)任意类型 (2)生产模式,所以对应的,要这两个层面上抽象(Movable,VehicleFactory),利用接口,实现多态
二、类结构
1.Interface Movable.java
2.Car.java
3.Plane.java
4.Interface VehicleFactory.java
5.CarFactory.java
6.PlaneFactory.java
三、代码
1.Movable.java
public interface Movable { void run(); }
2.Car.java
public class Car implements Movable { public Car() { } public void run() { System.out.println("Car running..............."); } }
3.Plane.java
public class Plane implements Movable { @Override public void run() { System.out.println("飞机飞翔中。。。。"); } }
4.VehicleFactory.java
public interface VehicleFactory { Movable create(); }
5.CarFactory.java
public class CarFactory implements VehicleFactory { private static Car car = new Car(); @Override public Movable create() { return car; } }
6.PlaneFactory.java
public class PlaneFactory implements VehicleFactory { private static Plane plane = new Plane(); @Override public Movable create() { return plane; } }
7.Test.java
public class Test { @org.junit.Test public void test() { VehicleFactory factory = new CarFactory(); Movable m1 = factory.create(); m1.run(); Movable m2 = factory.create(); System.out.println(m1 == m2); System.out.println(m1.equals(m2)); System.out.println("******************************"); factory = new PlaneFactory(); m1 = factory.create(); m1.run(); m2 = factory.create(); System.out.println(m1 == m2); System.out.println(m1.equals(m2)); } }
8.测试结果
相关文章推荐
- struts2过滤器
- Java中的静态块语句、块语句精研
- 面试题之spring
- 为Spring集成的Hibernate配置二级缓存
- springmvc服务端+android客户端的文件上传
- spring多数据源
- String源码分析之Java中的String为什么是不可变的以及replace方法源码分析
- (转)eclipse调试java程序的九个技巧
- eclipse 中安装插件三种方式
- SpringMvc 服务端发布json数据+android客户端解析json数据
- Spring 的事务管理(编程式和声明式)
- org.springframework.web.context.request.RequestContextListener
- SPRING JDBC详细使用
- spring MVC 2-helloword 入门
- Spring MVC 1
- 在ubuntu安装JDK
- 如何在spring框架中解决多数据源的问题源码
- Spring3.0MVC和Hibernate基于annotation注解的整合
- eclipse 使用指南
- java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配