博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式(享元模式)
阅读量:6970 次
发布时间:2019-06-27

本文共 1118 字,大约阅读时间需要 3 分钟。

享元模式可以理解是一个对象的缓存,通过构建一个享元工厂对所有的对象进行管理。

代码如下:

  • Flyweight 享元的接口
public interface Flyweight {    public void doAction();}
  • FlyweightImpl 具体被共享的类实现
public class FlyweightImpl implements Flyweight{    @Override    public void doAction() {        System.out.println("doAction");    }}
  • FlyweightFactory 享元工厂
public class FlyweightFactory {    private static Map
flyweights = new HashMap
(); public static Flyweight getFlyweight(String key) { if (flyweights.get(key) == null) { flyweights.put(key, new FlyweightImpl()); } return (Flyweight) flyweights.get(key); } public static int getSize() { return flyweights.size(); }}
  • APP 测试类
public class App {    public static void main(String[] args) {        FlyweightFactory factory = new FlyweightFactory();        factory.getFlyweight("a").doAction();        factory.getFlyweight("b").doAction();        factory.getFlyweight("a").doAction();                System.out.println(factory.getSize());    }}
  • 输出结果
doActiondoActiondoAction2

转载于:https://www.cnblogs.com/Fredric-2013/p/4572937.html

你可能感兴趣的文章
Silverlight多文件(大文件)上传的开源项目
查看>>
HTML5网站大观:分享8个精美的 HTML5 网站案例
查看>>
php rewrite
查看>>
【转】从bundle中复制文件到Documents目录中的代码
查看>>
【转】UIWebView获取当前页面url的两种方法
查看>>
struts2中使用ajax so easy!!!
查看>>
Hibernate 事物隔离级别
查看>>
Linux ——记一记那恐怖的 rm -f
查看>>
C# 指针之美
查看>>
Oracle 10 参数配置说明
查看>>
解决'System.OutOfMemoryException' 的问题
查看>>
消息队列RabbitMQ和ActiveMQ的生产者流量控制
查看>>
再论 重载、覆盖、多态与函数隐藏
查看>>
Android 用户界面---菜单
查看>>
【学术报告】云山物罩 大话‘大数据’
查看>>
用Setup系列函数完成驱动卸载安装[驱动安装卸载程序]
查看>>
巧妙利用JQuery和Servlet来实现跨域请求
查看>>
JS中生成与解析JSON
查看>>
[开发记录]事件驱动中一种优雅的退出方法
查看>>
java对象转JSON JS取JSON数据
查看>>