单例和工厂模式应用
2015-05-31 21:24
211 查看
单例模式虽然说只有一个类,但是在应用中,作用也不小,下面看看单例模式和工厂模式的应用:
1、单例模式
1)懒汉式单例模式public class UserManager { //实例化静态变量 private static UserManager instance=new UserManager(); private UserManager(){} //获取唯一实例 public static UserManager getInstance(){ return instance; } } 2)恶汉式单利模式 public class UserManager { //实例化静态变量 private static UserManager instance=null; private UserManager(){} //获取唯一实例 public static UserManager getInstance(){ if (instance==null){ instance=new UserManager(); } return instance; } }
2、工厂模式
1)电视接口及其实现类:电视接口: public interface TV{ //打开电视 public void openTV(); //关闭电视 public void closeTV(); } 海尔电视: public class HaiErTV implements TV{ //打开电视 @Override public void openTV(){ System.out.println("打开海尔电视"); } //关闭电视 @Override public void closeTV(){ System.out.println("关闭海尔电视"); } } 长虹电视: public class ChangHongTV implements TV{ //打开电视 @Override public void openTV(){ System.out.println("打开长虹电视"); } //关闭电视 @Override public void closeTV(){ System.out.println("关闭长虹电视"); } } 2)电视工厂接口及其实现类 电视工厂: public interface TVFactory { //创建电视 public TVcreateTV(); } 海尔电视工厂: public class HaiErTVFactory implements TVFactory { //创建海尔电视 @Override public TV createTV(){ System.out.println("创建海尔电视"); return new HaiErTV(); } } 长虹电视工厂: public class ChangHongTVFactory implements TVFactory { //创建长虹电视 @Override public TV createTV(){ System.out.println("创建长虹电视"); return new ChangHongTV(); } } 3)客户端调用 TVFactory tvFactory=new HaiErTVFactory(); TV tv=tvFactory.createTV(); tv.open();
相关文章推荐
- 测试计划
- Day 1:思考
- xml之dtd约束
- 5.31日一题
- PHP设计模式——解释器模式
- 64位系统中开启32位应用,特别是OLEDB
- Maven profile中允许出现的元素
- [20150531] Hello June . Wish I good luck in my month .
- Backbone 模板 underscore template默认的转义符<%= %> 与jsp的冲
- spring整合quartz
- HDOJ Bridging signals 【LIS】
- SRS文档
- DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)
- 触发器
- Ubuntu常用命令
- 读Pyqt4教程,带你入门Pyqt4 _006
- [算法]A General Polygon Clipping Library
- mysql主从配置
- 使用PHP mysqli 扩展增强库(面向对象/数据库操作封装/事务控制/预编译)总结
- CSS+DIV网页样式与布局