大话设计模式-享元模式的实践-网站模板享元

news/2024/5/21 16:26:49/文章来源:https://localhost.blog.csdn.net/article/details/90634241

UML

UML

用户类 用于网站的客户账号 是网站类的外部状态

/*** @ClassName: User* @Author: Leo* @Description: 用户类 用于网站的客户账号 是网站类的外部状态* @Date: 2019/5/28 9:58*/
public class User {private String name;public User(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

网站抽象类

/*** @ClassName: WebSite* @Author: Leo* @Description: 网站抽象类* @Date: 2019/5/28 10:00*/
public abstract class WebSite {/*** 模拟用户使用网站** @param user*/public abstract void use(User user);
}

具体的网站

/*** @ClassName: ConcreteWebSite* @Author: Leo* @Description: 具体的网站* @Date: 2019/5/28 10:05*/
public class ConcreteWebSite extends WebSite {private String websiteName;public ConcreteWebSite(String websiteName) {this.websiteName = websiteName;}@Overridepublic void use(User user) {System.out.println("网站名->" + websiteName + "   用户名->" + user.getName());}
}

网站工厂

import java.util.Hashtable;/*** @ClassName: WebSiteFactory* @Author: Leo* @Description: 网站工厂* @Date: 2019/5/28 10:10*/
public class WebSiteFactory {private Hashtable<String, WebSite> hashtable = new Hashtable<>();public WebSite getWebSite(String key) {if (hashtable.containsKey(key)) {return hashtable.get(key);} else {WebSite concreteWebSite = new ConcreteWebSite(key);hashtable.put(key, concreteWebSite);return concreteWebSite;}}public int getCount() {return hashtable.size();}
}

测试类

/*** @ClassName: Main* @Author: Leo* @Description: 测试类* @Date: 2019/5/28 9:58*/
public class Main {public static void main(String[] args) {WebSiteFactory factory = new WebSiteFactory();//以下三个是同一个享元对象WebSite f1 = factory.getWebSite("产品展示");f1.use(new User("小菜"));WebSite f2 = factory.getWebSite("产品展示");f2.use(new User("大鸟"));WebSite f3 = factory.getWebSite("产品展示");f3.use(new User("笨蛋"));WebSite f31 = factory.getWebSite("博客");f31.use(new User("钢蛋"));WebSite f32 = factory.getWebSite("博客");f32.use(new User("鸡蛋"));WebSite f33 = factory.getWebSite("博客");f33.use(new User("大神"));System.out.println("网站总数--->" + factory.getCount());}
}

运行结果

运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_780676.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

只有登陆注册页需要https加密吗?N网站有必要全站加密吗?

很多人都觉得&#xff0c;HTTPS 可以保护用户的密码等登陆信息&#xff0c;那么其他时候就不需要了。但火狐Firefox浏览器插件Firesheep&#xff0c;证明了这种想法是错的。我们可以看到&#xff0c;其实在一些社交平台&#xff0c;劫持其他人的session是非常容易的。我们以常见…

Nginx-Docker下安装Nginx并部署静态网站

一、Docker安装Nginx教程 Docker安装Nginx教程 二、Nginx部署静态网站 1. 把静态文件放到挂载的宿主机目录内&#xff1a; Docker nginx 容器内 /usr/share/nginx/html/ 挂载到了宿主机 /root/nginx/www/camelia是我这个静态网站的项目文件夹&#xff0c;里面包含css/js/ima…

爬虫 -----爬取某个网站信息

一.Java爬取某个网站的信息 1.项目gitee地址&#xff1a;https://gitee.com/Javaxieyue/reptiles.git 2.爬取网站的地址&#xff1a; http://www.mca.gov.cn//article/sj/xzqh/2020/2020/2020092500801.html 3.要求&#xff1a;需要对html页面有点了解&#xff0c;以便对爬…

Sharepoint 创建个人网站时出现错误。有关详细信息,请与网站管理员联系

SharePoint Server 2007 / MOSS 2007 中启用了个人网站功能&#xff0c;并且配置了正确的SSP&#xff0c;可是用户在访问我的网站时总是提示&#xff1a;创建个人网站时出现错误。有关详细信息&#xff0c;请与网站管理员联系。 MOSS服务器场 具体环境如下&#xff1a; AD服务…

tomcat出现404的原因_Seo优化,404页面优化,这样做有利于网站页面优化-深圳长诚网络...

404页面就是在用户访问你的网站的某个地址的时候&#xff0c;如果这个地址不存在或者内容删除后&#xff0c;展现给用户看的页面。大多数站长在做站内优化时都会有404设置这么一项工作。如如果没有设置404页面&#xff0c;那么用户或的页面就是一个错误的页面&#xff0c;则搜索…

谈谈网站静态化

写在前头 静态化是解决减轻网站压力,提高网站访问速度的常用方案,但在强调交互的We2.0 时代,对静态化提出了更高的要求,静态不仅要能静,还要能动,下面我通过一个项目,谈谈网站静态化后的架构设计方案,同时和大家探讨一下,在开源产品大行其道,言架构必称MemberCache, Nginx,的时…

非常推荐:搭建一个大型网站架构的实验环境(FreeBsd+Nginx+Squid+Apache)

非常具有教育性质的好贴&#xff0c;决定本周在家按照教程学习。

大型网站架构(转帖)--详细介绍阶段性需求和应对方法

之前也有一些介绍大型网站架构演变的文章&#xff0c;例如 LiveJournal的、 ebay的&#xff0c;都是非常值得参考的&#xff0c;不过感觉他们讲的更多的是每次演变的结果&#xff0c;而没有很详细的讲为什么需要做这样的演变&#xff0c;再加上近来感觉有不少同学都很难明白为什…

同服务器的网站被K该怎么办,网站首页被K应该如何处理?

原标题&#xff1a;网站首页被K应该如何处理&#xff1f;上个月小编手里有几个网站首页被K&#xff0c;整站的收录和索引都正常&#xff0c;内页的排名也还在&#xff0c;唯独首页被K了&#xff0c;找了很久也没找出原因所在。网站的服务器、站内代码、文章质量、友情链接、关键…

55个神奇的网站布局

我们总是在摸索着网站布局的效果展示&#xff0c;总是花费不少心思在考虑用户体验的极致所在&#xff0c;在这里我在一个国外的网站看到以下网站布局方式&#xff0c;实为好赞&#xff0c;所以贴下来分享&#xff0c;并从中我们可以去为移动终端这块做最新的参考与演化方式。。…

小网站架构优化-提升抗并发能力:子应用程序分离方案

前言&#xff1a;标题为啥要加个“小”&#xff0c;只因为上一篇文章“小网站架构优化&#xff1a;从100并发抗到4000并发”&#xff0c;带了个“小”字&#xff0c;所以这篇也顺流加个“小”了。大意“小”是特指秋色园&#xff08;流量小&#xff0c;服务器配置低&#xff09…

打造成功电子商务网站的六大设计准则

我能信任你吗&#xff1f;这是所有网购用户忐忑不安的下订单之前都会在心里向网站问的一个问题。 你不能因此指责他们&#xff0c;因为这个时候他们正将自己的信用卡信息提交到你的网站上&#xff0c;而这又仅仅是因为他们认为你会将商品寄送给他们。 关于电子商务网页设计一直…

使用java的html解析器jsoup和jQuery实现一个自动重复抓取任意网站页面指定元素的web应用...

在线演示 本地下载 如果你曾经开发过内容聚合类网站的话&#xff0c;使用程序动态整合来自不同页面或者网站内容的功能肯定对于你来说非常熟悉。通常使用java的话&#xff0c;我们都会使用到一些HTML的解析&#xff0c;例如&#xff0c;httpparser&#xff0c;最早gbin1.com的…

初步试用Squid的替代产品──Varnish Cache网站加速器

[2007-8-29 18:45 | by 张宴 ] Varnish是一款高性能的开源HTTP加速器&#xff0c;挪威最大的在线报纸 Verdens Gang (vg.no) 使用3台Varnish代替了原来的12台squid&#xff0c;性能比以前更好。Varnish的作者Poul-Henning Kamp是FreeBSD的内核开发者之一&#xff0c;他认为现在…

用Varnish代替Squid做网站缓存加速器的详细解决方案

[文章作者&#xff1a;张宴 本文版本&#xff1a;v1.2 最后修改&#xff1a; 2008.01.02 转载请注明出处&#xff1a; http://blog.s135.com]我曾经写过一篇文章──《 初步试用Squid的替代产品──Varnish Cache网站加速器》&#xff0c;但当时仅仅是用着玩&#xff0c;没做深…

基于SSM的在线视频教育网站系统【附源码】

项目概述 基于SSM的在线视频教育网站系统设计与实现.系统分为管理员与普通用户两种角色。非maven项目。 1)登录模块 在进入系统首页后&#xff0c;首先看到的是登录界面&#xff0c;该界面会提供注册用户的功能&#xff0c;在登陆界面&#xff0c;输入用户名之后&#xff0c;首…

15+ 易响应的CSS框架快速开启你的敏捷网站项目

由 于移动互联用户的快速增加&#xff0c;现在数量已经超出10亿&#xff0c;几乎可以肯定的是你的网站每天都会有移动用户访问。如果你组织计划创建一个对移动用户友好的浏览体 验&#xff0c;有多个方面需要考虑。响应快速的网站设计似乎现在很流行&#xff0c;但是仅依赖你的…

Fixed Responsive Nav – 响应式的单页网站导航插件

Fixed Responsive Nav 是一个响应式的&#xff0c;固定的&#xff0c;触摸友好的单页网站导航插件&#xff0c;响应式导航&#xff0c;流畅的动画滚动。该项目采用渐进增强构建&#xff0c;支持工作在 IE6 及以上版本的浏览器。 你可以给导航打开的内容添加一个遮罩&#xff0c…

中介网站 自己接活_做网站赚钱项目之本地租房网站项目可行性和盈利模式

老蒋经常看到一些群里网友在交流哪些网站能够赚钱&#xff0c;也看到很多网赚类社群、网站关注度相对比普通网站高的&#xff0c;毕竟任何兴趣爱好都不如学习到如何赚钱有兴趣。其实&#xff0c;不论是个人博客网站&#xff0c;还是企业商业网站&#xff0c;只要项目没有太大的…

能直接挂在iis的动静态网站_Web应急实战篇(三):批量挂黑页

作为一个网站管理员&#xff0c;你采用开源CMS做网站&#xff0c;比如dedecms&#xff0c;但是有一天&#xff0c;你忽然发现不知何时&#xff0c;网站的友情链接模块被挂大量垃圾链接&#xff0c;网站出现了很多不该有的目录&#xff0c;里面全是博彩相关的网页。而且&#xf…