当前位置: 首页 > wzjs >正文

建站工具缺点可以做宣传图的网站

建站工具缺点,可以做宣传图的网站,wordpress仪表盘改名,建设企业网站官网下载中心概述 享元模式 : Flyweight Pattern : 是一种结构型设计模式,也叫做 蝇量模式。 主要通过对象的复用来减少对象创建的次数和数量,从而减少系统内存的使用和降低系统的负载。 主要作用: 避免在有大量对象时频繁创建和销毁造成系统资…

概述

享元模式Flyweight Pattern : 是一种结构型设计模式,也叫做 蝇量模式
主要通过对象的复用来减少对象创建的次数和数量,从而减少系统内存的使用和降低系统的负载。

主要作用
避免在有大量对象时频繁创建和销毁造成系统资源的浪费,把对象中共同的部分抽象出来,如果有相同的业务请求,则直接返回内存中已有的对象,避免重新创建对象。
即 : 在系统需要一个对象时,首先在系统中查找并尝试重用已有的对象,如果未找到匹配的对象,则创建新对象并将其缓存在系统中以便下次使用。

既然要从内存中匹配对象,因此,需要有一个类来充当对象池的角色,对象的获取,经过这个对象池。

核心概念

内部状态(Intrinsic State)
可以共享的状态,存储在对象内部,对所有调用者可见。
例如 : 围棋的棋子 , 只有 黑、白 两种颜色,这个就可以划分为 棋子的内部状态。

外部状态(Extrinsic State)
随外部环境变化的状态,不存储在对象内部,而是由客户端在调用时传递。
例如 : 围棋棋子的位置坐标,每一颗棋子在下棋过程中才能确定,即为外部状态。

核心角色

抽象享元(Flyweight):定义享元对象的接口,声明内部状态和操作。
具体享元(Concrete Flyweight):实现抽象享元接口,存储内部状态。
享元工厂(Flyweight Factory):负责创建和管理享元对象,维护对象池(共享对象的缓存)。

类图

在这里插入图片描述

案例代码

享元接口

public interface CheesePiece {// 外部状态 : 坐标位置 : 下棋的时候才能确定void display(int x,int y);
}

实现类

public class ConcreteCheesePiece implements CheesePiece{// 内部状态 : 棋子的颜色private String color;// 构造方法、getter、setter 方法@Overridepublic void display(int x, int y) {System.out.println(color + " 落在了 ("+x+","+y+") 的位置");}
}

享元工厂

public class CheesePieceFactory {// 一个存储享元对象的容器private static Map<String, CheesePiece> pool = new HashMap<>();// 获取享元对象public static CheesePiece getCheesePiece(String color) {// 如果容器中没有这个对象,就创建一个,并放入容器中if (!pool.containsKey(color)){pool.put(color, new ConcreteCheesePiece(color));}// 返回享元对象return pool.get(color);}}

客户端

public class Client {public static void main(String[] args){CheesePiece black = CheesePieceFactory.getCheesePiece("黑子");CheesePiece white = CheesePieceFactory.getCheesePiece("白子");black.display(1, 1);white.display(2, 2);// 验证一下,重复获取对象是否为同一个对象CheesePiece black2 = CheesePieceFactory.getCheesePiece("黑子");System.out.println(black == black2);}
}
运行结果:
黑子 落在了 (1,1) 的位置
白子 落在了 (2,2) 的位置
true

文章转载自:

http://b1xQTA1k.tscsd.cn
http://0hfKeU6J.tscsd.cn
http://fJCiKcdV.tscsd.cn
http://9uciAvuH.tscsd.cn
http://dAt7SLmY.tscsd.cn
http://OTEGpkGt.tscsd.cn
http://X95tp60y.tscsd.cn
http://Ou7Otnp2.tscsd.cn
http://W689kpYS.tscsd.cn
http://yOR3Ti8u.tscsd.cn
http://UseKZHyi.tscsd.cn
http://XiiSz0cx.tscsd.cn
http://A8RYvbkq.tscsd.cn
http://QLRy67Le.tscsd.cn
http://uxcqwY26.tscsd.cn
http://IYRpbFCC.tscsd.cn
http://A439CZe2.tscsd.cn
http://puCD8CLp.tscsd.cn
http://orGX4AZs.tscsd.cn
http://lpZcXJL7.tscsd.cn
http://mTZY8xip.tscsd.cn
http://dLXlWQKe.tscsd.cn
http://xze4iity.tscsd.cn
http://xdIUHAJW.tscsd.cn
http://Htw1lgN4.tscsd.cn
http://1C2Ro1Sx.tscsd.cn
http://0j6QzZBR.tscsd.cn
http://b87GAm3P.tscsd.cn
http://3PviKOEc.tscsd.cn
http://4sMs6jON.tscsd.cn
http://www.dtcms.com/wzjs/744342.html

相关文章:

  • 网站到期如何续费百度文库怎么做网站排名
  • 企业建设营销型网站有哪些步骤wordpress作者排行
  • 做企业网站排名网站如何加入流量统计
  • 网站正在建设中yuss微商城推广平台哪个好
  • windows7PHP网站建设seo是什么的缩写
  • 100m网站空间服务费网站菜单导航制作教程
  • 网站建设企业排行英文版的wordpress能否改中文版
  • 网站ns记录erp软件前十名
  • 网站登录模版 下载高端网站建设公司费用
  • 青白江区城乡和建设局网站wordpress 文章多图
  • android 网站模板海尔网站建设推广
  • 网站组成元素十大接单推广平台
  • 网站运营和seo的区别为什么做可信网站
  • 中学生做的安全作业网站字节跳动公司简介
  • 自己做的网站给人攻击了怎么办通化县住房和城乡建设局网站
  • 网站建设到备案wordpress显示评论数
  • 个人兼职网站建设如何自学做网站
  • 成都网站制作机构美容北京公司网站建设
  • 广州做网站哪家强网站开发工资多少钱
  • 做网站的收益长清治做网站
  • 学做网站应该看那些书小程序定制开发深圳公司
  • 宜宾网站建设哪家好昆明网站建设博滇
  • 优化网站价格网站建设的岗位职责
  • 合肥电信网站备案城市文明建设网站
  • 花店网站建设构思黄江二手车东莞网站建设
  • 新泰建设局网站交互设计软件有哪些
  • 网站开发需要用到哪些资料当地的建设工程信息网
  • 学校网站管理系统 php58同城网络营销
  • 广州市手机网站建设品牌网站建设与实践
  • 淮北网站网站建设网站策划的基本过程