设计模式之享元与观察者模式详解
1. 装饰器模式的优缺点
装饰器模式深受开发者喜爱,因为它使用透明且具有一定灵活性。通过该模式,对象可以被包装或“装饰”上新的行为,且无需担心基础对象被修改。从更广泛的角度看,此模式避免了依赖大量子类来实现相同的功能。
不过,在实现该模式时也存在一些缺点。如果管理不善,它会使应用程序架构变得复杂,因为会在命名空间中引入许多小而相似的对象。其他不熟悉该模式的开发者可能难以理解其用途,从而增加管理难度。为解决这一问题,可进行充分的注释或对模式进行研究。只要合理控制装饰器在应用中的使用范围,就能避免这些问题。
2. 享元模式概述
享元模式是一种经典的结构型解决方案,用于优化重复、缓慢且数据共享效率低下的代码。其目标是通过与相关对象尽可能多地共享数据(如应用程序配置、状态等)来减少应用程序的内存使用。该模式由 Paul Calder 和 Mark Linton 在 1990 年首次提出,名称来源于拳击比赛中体重低于 112 磅的蝇量级,寓意该模式旨在帮助实现小的内存占用。
在实践中,享元模式的数据共享是将多个对象使用的相似对象或数据结构提取到一个外部对象中,然后将该对象传递给依赖这些数据的对象,而不是在每个对象中存储相同的数据。
3. 享元模式的应用方式
享元模式有两种应用方式:
- 数据层 :处理内存中大量相似对象之间的数据共享。
- DOM 层 :作为中央事件管理器,避免为具有相似行为的父容器中的每个子元素附加事件处理程序。传统上,享元模式在数据层应用较多,下面先介绍数据
超级会员免费看
订阅专栏 解锁全文
1767

被折叠的 条评论
为什么被折叠?



