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

如何做网站?服务器网站域名系统装置

如何做网站?,服务器网站域名系统装置,网络软文营销案例,邯郸网站建设小霖目录 享元模式#xff08;Flyweight Pattern#xff09; 享元模式的核心角色#xff1a; 优缺点 使用场景 注意事项 代码实现 享元模式#xff08;Flyweight Pattern#xff09; 享元模式#xff08;Flyweight Pattern#xff09;它通过共享对象来减少内存使用和提…目录 享元模式Flyweight Pattern 享元模式的核心角色 优缺点 使用场景 注意事项 代码实现 享元模式Flyweight Pattern 享元模式Flyweight Pattern它通过共享对象来减少内存使用和提高性能。享元模式的核心思想是共享当需要创建一个新对象时首先检查是否已经有与其相同的对象存在如果存在则直接返回该对象的引用如果不存在则创建一个新对象并将其加入对象池中以供下次使用。通过这种方式可以避免重复创建相同的对象从而减少内存占用和提高性能。 使用享元模式需要有两个前提1享元对象不可变当享元模式创建出来后它的变量和属性不会被修改2系统中存在大量重复对象这些重复对象可以使用同一个享元内存中只存在一份这样会节省大量空间。当然这也是为什么享元对象不可变的原因因为有很多引用变更的话会引起很多问题。 享元模式的核心角色 享元工厂Flyweight Factory负责创建和管理享元对象。它维护一个享元池Flyweight Pool用于存储已经创建的享元对象。享元对象Flyweight表示可以共享的对象。享元对象通常包含内部状态和外部状态。内部状态是不变的可以被多个对象共享外部状态是可变的每个对象都有自己的外部状态。 优缺点 1优点 缩小对象的创立升高内存中对象的数量升高零碎的内存提高效率。缩小内存之外的其余资源占用。 2缺点 为了使对象可以共享需要将一些不能共享的状态外部化这将增加程序的复杂性。读取享元模式的外部状态会使得运行时间稍微变长。 使用场景 系统有大量相似对象。需要缓冲池的场景。 注意事项 1注意划分外部状态和内部状态否则可能会引起线程安全问题。2这些类必须有一个工厂对象加以控制。 代码实现 package mainimport fmt// 一个文字编辑器需要处理大量的字符对象。每个字符对象都有自己的字体、大小和颜色等属性。由于字符对象可能非常多 // 如果每个字符对象都占用大量内存将导致内存消耗过大。我们希望能够通过共享相同属性的字符对象来减少内存使用。// 享元对象字符对象 type Character struct {char runefont stringsize intcolor string }func (c *Character) Display() {fmt.Printf(Character: %c, Font: %s, Size: %d, Color: %s\n, c.char, c.font, c.size, c.color) }// 享元工厂字符工厂 type CharacterFactory struct {characters map[rune]*Character }func NewCharacterFactory() *CharacterFactory {return CharacterFactory{characters: make(map[rune]*Character),} }func (f *CharacterFactory) GetCharacter(char rune, font string, size int, color string) *Character {key : charif _, ok : f.characters[key]; !ok {f.characters[key] Character{char: char,font: font,size: size,color: color,}}return f.characters[key] }// 客户端代码 func main() {factory : NewCharacterFactory()char1 : factory.GetCharacter(A, Arial, 12, Red)char1.Display()char2 : factory.GetCharacter(A, Times New Roman, 14, Blue)char2.Display()char3 : factory.GetCharacter(B, Times New Roman, 14, Blue)char3.Display()char4 : factory.GetCharacter(B, Arial, 12, Red)char4.Display() }
http://www.zqtcl.cn/news/260484/

相关文章:

  • 邯郸住房城乡建设厅网站建设银行网站钓鱼网站
  • 高密建网站龙门城乡规划建设局网站
  • 阿里云从哪里建设网站企业设计网站公司排名
  • 长春做网站推广的公司公司要做个网站吗
  • 天水 网站建设招聘个人网站建设的国外文献综述
  • 什么网站做推广最好建行网站用户名是什么
  • 网站建设和维护需要学的东西服务器学生
  • 电子工厂网站建设企业管理咨询报告
  • 敖汉旗网站建设网站建设班级通讯录
  • 把手机做网站服务器做网站商丘
  • 婚恋咨询网站运营做速卖通代码的网站
  • 网站建设流程有哪七步c语言做的网站有什么优缺点
  • 树在线网页制作网站邢台中北世纪城网站兼职
  • 备案网站建设方案模板怎么看网站域名
  • asp iis设置网站路径效果好网站建设哪家好
  • 河南做外贸网站的公司大连在哪个省的什么位置
  • 网站架构怎么做wordpress e-commerce themes
  • 哪些网站微信支付平台经营管理系统
  • 教育教学成果展示网站建设桂林网站开发公司
  • 唐山房产网站建设asp.net 网站压缩
  • 卫浴网站设计大型网站建设的必须条件
  • 肇庆制作企业网站seo网站建设课程
  • 没有公司自己做网站wordpress lms插件
  • 申请一个网站需要怎么做北京网络公司信息
  • 珠海市建设局网站分销系统价格多少
  • 杭州建网站企业seo营销工具
  • php旅游类网站开发wordpress 文章内
  • 企业管理外贸企业网站优化
  • 免费图纸网东莞百度快照优化排名
  • 南宁网站建设培训学校青海网站建设加q5299丶14602做词