设计模式之---享元模式
2017-05-05 09:30
381 查看
下面来个实例,大家应该就明白了。
package flyweight;
public interface Flyweight {
void operate();
}
package flyweight; public class FlyweightA implements Flyweight { @Override public void operate() { // TODO Auto-generated method stub System.out.println("操作---A"); } }
package flyweight; public class FlyweightB implements Flyweight { @Override public void operate() { // TODO Auto-generated method stub System.out.println("操作---B"); } }
package flyweight; public class UnsharedFlyweight implements Flyweight { @Override public void operate() { // TODO Auto-generated method stub System.out.println("非共享类操作"); } }
package flyweight; import java.util.HashMap; import java.util.Map; public class FlyweightFactory { private Map<String, Flyweight> map=new HashMap<>(); public FlyweightFactory() { map.put("A", new FlyweightA()); map.put("B", new FlyweightB()); } public Flyweight getFlyweight(String key) { return map.get(key); } }
package flyweight; public class Client { public static void main(String[] args) { // TODO Auto-generated method stub FlyweightFactory flyweightFactory=new FlyweightFactory(); Flyweight flyweightA = flyweightFactory.getFlyweight("A"); Flyweight flyweightB = flyweightFactory.getFlyweight("B"); Flyweight unsharedFlyweight=new UnsharedFlyweight(); flyweightA.operate(); flyweightB.operate(); unsharedFlyweight.operate(); } }在实际应用中,数据库连接池,线程池都有应用享元模式。
相关文章推荐
- 设计模式——享元模式(Flyweight)
- 设计模式之享元模式
- [导入]C#面向对象设计模式纵横谈(12):Flyweight 享元模式(结构型模式).zip(7.86 MB)
- .NET设计模式(13):享元模式(Flyweight Pattern)
- 设计模式笔记(二十二) —— 享元模式
- 设计模式之Flyweight享元模式
- 设计模式笔记 11. Flyweight 享元模式(结构型模式)
- 设计模式循序渐进(4)享元模式 Flyweight
- 白话设计模式--结构型模式--享元模式和代理模式
- 经验技巧分享--ASP.NET和Ajax应用一个超级实用的设计模式---享元模式
- 设计模式与泡mm的关系之flyweight享元模式及享元模式的再思考
- .NET设计模式-享元模式(Flyweight Pattern)
- 设计模式——享元模式
- .NET设计模式(13):享元模式(Flyweight Pattern)
- 设计模式学习笔记(十二)——Flyweight享元模式
- 设计模式学习笔记(十二)——Flyweight享元模式
- ASP.NET和Ajax应用一个超级实用的设计模式---享元模式
- 设计模式学习笔记(二十二)—FlyWeight享元模式
- .NET设计模式-享元模式(Flyweight Pattern)
- 设计模式(13)-享元模式(Flyweight)