首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

狂言设计模式_享元模式

2013-03-21 
大话设计模式_享元模式以建造不同的网站为例子。package com.wzs.designimport java.util.Hashtable/** *

大话设计模式_享元模式

以建造不同的网站为例子。

package com.wzs.design;import java.util.Hashtable;/** * 大话设计模式--page274 享元模式 *  * @author Administrator *  */public class FlyweightPattern {public static void main(String[] args) {WebSiteFactory f = new WebSiteFactory();WebSite fx = f.getWebSiteCategory("产品展示");fx.use(new User("小菜"));WebSite fy = f.getWebSiteCategory("产品展示");fy.use(new User("大鸟"));WebSite fz = f.getWebSiteCategory("产品展示");fz.use(new User("娇娇"));WebSite fl = f.getWebSiteCategory("博客");fl.use(new User("老顽童"));WebSite fm = f.getWebSiteCategory("博客");fm.use(new User("桃谷六仙"));WebSite fn = f.getWebSiteCategory("博客");fn.use(new User("南海鳄神"));System.out.println("网站分类总数:" + f.getWebSiteCount());}}/* * 用户 */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;}}/* * 网站抽象类 */abstract class WebSite {public abstract void use(User user);}/* * 具体网站类 */class ConcreteWebSite extends WebSite {private String name;public ConcreteWebSite(String name) {this.name = name;}@Overridepublic void use(User user) {System.out.println("网站分类:" + this.name + "\t用户:" + user.getName());}}/* * 网站工厂 */class WebSiteFactory {private Hashtable<String, ConcreteWebSite> flyweights = new Hashtable<String, ConcreteWebSite>();/* * 获得网站分类 */public WebSite getWebSiteCategory(String key) {if (!flyweights.containsKey(key)) {flyweights.put(key, new ConcreteWebSite(key));}return flyweights.get(key);}/* * 获得网站分类总数 */public int getWebSiteCount() {return flyweights.size();}}


1楼adam_zs昨天 22:01
[code=java]n输出结果:n网站分类:产品展示t用户:小菜n网站分类:产品展示t用户:大鸟n网站分类:产品展示t用户:娇娇n网站分类:博客t用户:老顽童n网站分类:博客t用户:桃谷六仙n网站分类:博客t用户:南海鳄神n网站分类总数:2nn[/code]

热点排行