设计模式理解(十)结构型——享元(Flyweight)
2024-10-19 03:34:55
最后一个结构型,享元。没有太多的项目经验,对这种模式只有一种概念上的理解,就是为了节约内存等资源,把可重用的东西只申请一次,然后处处调用,同时用Hash进行管理。
直接上图:
代码:
/********* 大话设计模式上的代码 ************/ abstract class Flyweight{
public abstract void Operation(int extrinsicstate);
} class ConcreteFlyweight : Flyweight{
public override void Operation(int extrinsicstate){
Console.WriteLine("具体Flyweight : " + extrinsicstate);
}
} class UnshareConcreteFlyweight : Flyweight{
public override void Operation(int extrinsicstate){
Console.WriteLine("不共享的具体Flyweight : " + extrinsicstate);
}
} class FlyweightFactory{
private Hashtable flyweights = new Hashtable();
public FlyweightFactory(){
flyweights.add("X",new ConcreteFlyweight());
flyweights.add("Y",new ConcreteFlyweight());
}
public Flyweight GetFlyweight(string key){
return ((Flyweight)flyweights[key]);
}
}
最新文章
- 【重大更新】开源跨平台物联网通讯框架ServerSuperIO 2.0(SSIO)下载
- CF576E
- Android项目实战(二十七):数据交互(信息编辑)填写总结
- spring Quartz多个定时任务的配置
- oracle连接本地数据库
- iOS 完美解决 interactivePopGestureRecognizer 卡住的问题
- hdwiki 学习笔记 01
- haproxy配置文件简单管理
- HDU 1247
- Oracle存储过程procedure
- Session Cookie的HttpOnly和secure属性
- .net工作流引擎ccflow新增支持PostgreSQL数据库的功能的发布说明
- CCPC-Wannafly Winter Camp Day1部分题目解析
- redis的pub/sub命令
- Python - 安装并配置Anaconda环境
- delphi有关获取其他程序的窗口及对窗口内控件的操作
- 使用Ajax出现302 Moved Temporarily
- 谈谈 在 .Net 生态里为什么没有 Hadoop 系列 ?
- 20155238 2016-2017-2 《Java程序设计》第三周学习总结
- net core mysql 组件记录
热门文章
- oracleDB python chines_miscode
- 安装Nginx到linux服务器(Ubuntu)详解
- android上的bin/sbin/xbin等各种目录
- 给opencart产品页添加额外信息
- kubernetes命令详情
- python 不知道是啥
- Cocos2dx Android环境编译出错:jni/Android.mk: Cannot find module with tag 'scripting/lua-bindings' in import path
- IconFont --阿里巴巴矢量库
- svn 安装
- zabbix监控实战<;1>;