项目中经常用的是策略模式以及责任链模式,然后今天说下享元模式;
策略模式: 入参的大体相同,根据入参的的区别选择不同的处理逻辑;
责任链模式: 对入参都是同一个处理流程的一种处理模式;
享元模式: 享元,即共享元数据;为了减少对象的创建;
享元模式: 使用场景,需要频繁的创建几个的对象消耗内存巨大,为了避免此种问题;
如下:
一个工厂
public class XYFactory {
Map<Integer, User> map = new HashMap<>();
public User getUser(Integer num) {
User user = map.get(num);
if (user == null) {
user = new User();
map.put(RandomUtil.randomInt(9), user);
}
return user;
}
}
一个测试类
public static void main(String[] args) {
XYFactory xyFactory = new XYFactory();
for (int i = 0; i < 100; i++) {
User user = xyFactory.getUser(RandomUtil.randomInt(9));
System.out.println(user);
}
}
思想大概是,创建过得对象放入缓存中,下次去缓存中拿取,如果取到了那么直接用;
没拿取到,创建一个对象,然后放入缓存中,返回这个对象;
本文转自 jimolvxing.blog.csdn.net/article/det…,如有侵权,请联系删除。