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

如何做微商城网站电脑编程培训学校

如何做微商城网站,电脑编程培训学校,和两个黑人同时做网站,17网站一起做网店广JAVA设计模式——(五)享元模式(Flyweight Pattern) 概念理解实现创建内部状态定义享元工厂测试 适用性 概念 使共享对象可以有效的支持大量的细粒度对象。主要采用池技术实现。 理解 享元模式主要解决大量对象的共享&#xff0…

JAVA设计模式——(五)享元模式(Flyweight Pattern)

  • 概念
  • 理解
  • 实现
    • 创建内部状态
    • 定义享元工厂
    • 测试
  • 适用性

概念

使共享对象可以有效的支持大量的细粒度对象。主要采用池技术实现。

理解

享元模式主要解决大量对象的共享,实现内部对象的状态一致性,和外部状态对内部状态的使用。简单理解就是,在JAVA的基础数据类型中,String、Integer、Character等类型均会在创建时缓存一定范围的数据,较少创建和销毁对象花费的时间。

所以,该模式主要涉及以下部分:内部状态、外部状态、外部状态转换为内部状态的工厂、利用外部状态的客户端。

实现

创建内部状态

定义团队抽象类:

package cn.sh.designepattern;/** 定义团队抽象类* @Author song* @Version 0.0.1* @Date 2025/4/24 14:23* @Contact 643947568@qq.com*/
public abstract class Team {String name;String type;public Team(String name, String type) {this.name = name;this.type = type;}public abstract void attendCompetition();
}

定义内部状态具体实现:

package cn.sh.designepattern;/*** @Author song* @Version 0.0.1* @Date 2025/4/24 14:26* @Contact 643947568@qq.com*/
public class BasketballTeam extends Team{public BasketballTeam(String name, String type) {super(name, type);}@Overridepublic void attendCompetition() {System.out.println("篮球队参赛");}
}
package cn.sh.designepattern;/*** @Author song* @Version 0.0.1* @Date 2025/4/24 14:26* @Contact 643947568@qq.com*/
public class FootballTeam extends Team{public FootballTeam(String name, String type) {super(name, type);}@Overridepublic void attendCompetition() {System.out.println("足球队参数");}
}

定义享元工厂

package cn.sh.designepattern;import java.util.HashMap;
import java.util.Map;/*** @Author song* @Version 0.0.1* @Date 2025/4/24 14:29* @Contact 643947568@qq.com*/
public class TeamFactory {private Map<String, Team> map = new HashMap<>();public void putTeam(Team team) {if (!map.containsKey(team.name)) {map.put(team.name, team);}}public Team getTeam(String name) {return map.get(name);}}

测试

package cn.sh.designepattern;/*** @Author song* @Version 0.0.1* @Date 2025/4/24 10:47* @Contact 643947568@qq.com*/
public class Main {public static void main(String[] args) {Team footballTeam = new FootballTeam("足球队", "足球队");Team basketballTeam = new BasketballTeam("篮球队", "篮球队");TeamFactory teamFactory = new TeamFactory();teamFactory.putTeam(footballTeam);teamFactory.putTeam(basketballTeam);teamFactory.getTeam("足球队").attendCompetition();teamFactory.getTeam("篮球队").attendCompetition();}
}

适用性

享元模式可以通过缓存常用的对象在内存中,以节省对象的创建和销毁的时间,从而提高系统的加载速度。

不过缓存太多的对象会导致内存的大量占用,还需要视实际情况而定。

http://www.dtcms.com/wzjs/494192.html

相关文章:

  • 深圳企业网站建设服务企业内训机构
  • 学做网站好吗百度网页制作
  • 找公司做网站需要注意在线优化seo
  • 网站建设的硬件支持百度seo公司哪家好一点
  • 做任务的阅币漫画网站网页设计代码
  • 微信小程序做链接网站腾讯广告官网
  • 做网站南京公司查询
  • 在婚恋网站做销售好吗企业培训平台
  • wordpress用户投稿插件宁波seo怎么做推广渠道
  • 网站升级 云南省建设注册考试中心中国北京出啥大事了
  • 盘锦949公社官方网站便民信息微信平台推广
  • 学校网站对学校建设的重要性长沙优化排名推广
  • 专业做二手房装修网站常见的网站推广方法有哪些
  • 可以做烟的网站吗模板网站如何建站
  • 门户网站整改情况报告产品经理培训
  • 徐州集团网站建设报价淘宝关键词查询
  • 做餐厅网站的需求分析seo排名培训
  • 宁波seo网站建设费用今日头条最新
  • 怎么用burp suite做网站扫描百度提交入口网站
  • 网站开发工程师获奖核心关键词和长尾关键词举例
  • 网页浏览器阻止安装activex控件seo最强
  • 软件项目管理考试题及答案seo学院培训班
  • 青海高端网站建设微信小程序排名关键词优化
  • 专业网络推广平台seo下拉优化
  • wordpress 网盘抖音seo
  • 我想找个人做网站百度下载app下载
  • 公司网站建设要多少钱旅游seo整站优化
  • 书店网站建设需求分析调研表域名注册需要哪些条件
  • 电商网站制作公司怎么去推广自己的产品
  • 保定免费建站服务友情手机站