专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

设计模式(十):享元模式

68_1.png

优点:

  减少了系统中对象的数量,避免了大量细粒度对象给内存带来的压力,实现对细粒度对象的复用。

缺点:

  此模式需要维护一个记录了系统已有的所有享元对象的列表,本身就需要耗费资源。此外此模式需要将一些状态外部化,也使得系统及逻辑更加复杂。

适用范围:

 一个系统中有大量的对象,同时这些对象耗费大量的内存,这些对象内部状态可提取分组,外部状态可外部化。

客户端: 

  WebSiteFactory f = new WebSiteFactory(); //生产的工厂

  WebSite wx = f.getWebSiteCategory(“博客”);
  wx.belongToUser(new User(“小菜”));

  //专属网站
  WebSite my = f.getWebSiteCategory(“专属”); //”专属”是区分标识
  my.belongToUser(new User(“书生”));

  System.out.println(“网站分类总数:”+f.getWebSiteCategoryCount());

一句话概括:

  针对不同客户的同种类型的网站的需求,使用同一套核心代码,避免代码复制。

/**
  * WebSite (接口,belongToUser(User user)方法)
  * ConcreteWebSite(共享实例)  UnShareConcreteWebSite(不共享实例)
  *
  * WebSiteFactory(生产工厂,包括网站列表、分类创建方法、已创建分类个数等方法) -- 创建和管理所有人的“网站”对象
  *
  * User (用于创建网站归属人)
  *
  */

文章永久链接:https://tech.souyunku.com/20299

未经允许不得转载:搜云库技术团队 » 设计模式(十):享元模式

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们