标签:缓冲 out vat 场景 png 结果 str lse 提高
享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。
1、大大减少对象的创建,降低系统的内存,使效率提高。
1、提高了系统的复杂度,需要分离出外部状态和内部状态,而且外部状态具有固有化的性质,不应该随着内部状态的变化而变化,否则会造成系统的混乱。
1、系统有大量相似对象。
2、需要缓冲池的场景。
网站外包,网站的发布形式有多种且具有固有化的性值。
/**
* 网站抽象类
*/
public abstract class WebSite {
public abstract void use();
}
/**
* 网站实例
*/
public class ConcreteWebSit extends WebSite {
private String webType = "";
public ConcreteWebSit(String type){
this.webType = type;
}
public void use() {
System.out.println("网站的样式是:" + webType);
}
}
/**
* 网站工厂
*/
public class WebSitFactory {
private static HashMap<String, WebSite> pool = new HashMap<>();
public static WebSite getWebSit(String webSitType){
if (!pool.containsKey(webSitType)) {
WebSite webSite = new ConcreteWebSit(webSitType);
pool.put(webSitType, webSite);
return webSite;
} else {
return pool.get(webSitType);
}
}
}
/**
* 客户端
*/
public class Client {
public static void main(String args[]){
String webType1 = "清洁版";
String webType2 = "高清版";
WebSite webSite1 = WebSitFactory.getWebSit(webType1);
WebSite webSite2 = WebSitFactory.getWebSit(webType2);
webSite1.use();
webSite2.use();
}
}
结果:
网站的样式是:清洁版
网站的样式是:高清版
标签:缓冲 out vat 场景 png 结果 str lse 提高
原文地址:https://www.cnblogs.com/feiqiangsheng/p/12208788.html