常用设计模式
来源:互联网 发布:c语言随机数头文件 编辑:程序博客网 时间:2024/06/04 21:21
常用设计模式有工厂模式、道理模式以及生产者消费者模式
单例模式
使用静态内部类的方式可以保证线程安全,并且比同步方法的性能好。
package com.qqyumidi;public class SingleTon { // 利用静态内部类特性实现外部类的单例 private static class SingleTonBuilder { private static SingleTon singleTon = new SingleTon(); } // 私有化构造函数 private SingleTon() { } public static SingleTon getInstance() { return SingleTonBuilder.singleTon; } public static void main(String[] args) { SingleTon instance = getInstance(); }}
工厂模式
实现结构:1、抽象类;2、实现类;3、工厂类;4、客户端。客户端通过工厂类获取实现对象,由客户端调用实现对象返回结果。
定义一个接口
/** * This is factory patter package */package com.roc.factory;/** * 产品的抽象接口 人类 * @author liaowp * */public interface Human { public void say();}
定义两个产品
/** * This is factory patter package */package com.roc.factory;/** * man 男人 * @author liaowp * */public class Man implements Human { /* say method * @see com.roc.factory.Human#say() */ @Override public void say() { System.out.println("男人"); }}
/** * This is factory patter package */package com.roc.factory;/**女人 * @author liaowp * */public class Woman implements Human { /* say method * @see com.roc.factory.Human#say() */ @Override public void say() { System.out.println("女人"); }}
创建一个工厂类
package com.roc.factory;/** * 简单工厂放射实现 * @author liaowp * */public class SampleFactory1 { public static Human makeHuman(Class c){ Human human = null; try { human = (Human) Class.forName(c.getName()).newInstance(); } catch (InstantiationException e) { // TODO Auto-generated catch block System.out.println("不支持抽象类或接口"); e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("没有足够权限,即不能访问私有对象"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block System.out.println("类不存在"); e.printStackTrace(); } return human; }}
策略模式
实现结构:1、抽象类;2、实现类;3、策略类;4、客户端。由客户端创建实现对象,将实现对象传给策略对象,由策略对象调用实现对象返回结果。
策略模式与简单工厂模式很相似。它们区别是工厂模式传给工厂类的是参数,客户端负责调用实现对象。而策略模式传给策略类的是对象,由策略对象负责调用实现对象。
阅读全文
0 0
- 常用的设计模式
- 一句话常用设计模式
- 常用设计模式
- 常用设计模式
- 常用设计模式收集
- 常用设计模式收集
- java常用设计模式
- java常用设计模式
- 常用设计模式
- 常用设计模式收集
- Java常用设计模式
- java常用设计模式
- 常用设计模式
- 常用设计模式二
- 常用设计模式3
- 常用设计模式
- java常用设计模式
- java常用设计模式 .
- MySQL主从复制
- 挑战程序竞赛系列(8):2.1一往直前!贪心法(其他)
- js中的3种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令是什么?
- Oracle查询语句简单回顾(三)
- Java语法基础看这篇就够了
- 常用设计模式
- iOS中代理、通知、block的使用
- python数据爬虫示例一
- Listener&&Filter
- jQuery选择器
- C++库常用函数一览(<string><cctype><algorithm><cmath><cstdlib><iomanip><numeric>)
- java数据结构和算法-3,快速排序
- 常用数据库随笔记-初级
- linux可执行文件格式