我们一起来读书吧 关注:113贴子:1,491
  • 0回复贴,共1

《设计模式》第四章读后感part2

只看楼主收藏回复

这一章的后半部分主要讲了三个结构型模式:外观模式、享元模式和代理模式
外观模式(Facade Pattern)
外观模式是一种结构型设计模式,它为子系统中的一组接口提供了一个统一的高层接口,使得子系统更容易使用。在日常开发中,这意味着我们可以隐藏复杂的系统细节,只暴露必要的、简化的接口给外部使用。他的优点包括:
1. 简化复杂性:当系统由许多小类或接口组成,且它们之间的关系复杂时,外观模式可以提供一个简单的接口,客户端无需了解底层实现细节。
2. 降低耦合:外观模式将客户端与具体的实现类解耦,使得客户端代码更加灵活,易于维护和修改。
3. 提高开发效率:新加入的开发者可以通过外观模式快速了解和使用系统,而无需深入了解每个组件的具体实现。
享元模式(Flyweight Pattern)
享元模式是一种用于性能优化的结构型设计模式,它主要通过共享对象来减少系统中对象的数量,从而节省内存和提高性能。他的优点包括:
1. 内存优化:在需要创建大量相似或相同对象的情况下,享元模式通过共享对象实例来显著减少内存消耗。
2. 性能提升:由于减少了对象的创建和销毁,系统的性能得到提升,特别是在图形渲染、字符渲染等需要大量小对象的场景中。
3. 状态与行为分离:享元模式强调将对象的内部状态与外部状态(或上下文)分离,使得对象可以在不同的上下文中共享。
代理模式(Proxy Pattern)
代理模式是一种结构型设计模式,它提供了一个代理对象来控制对原始对象的访问。代理模式可以在不修改原始类的情况下增加额外的功能或控制。代理模式的优点是:
1. 访问控制:代理模式可以用于实现访问控制,例如,只有满足特定条件的客户端才能访问原始对象。
2. 性能优化:代理可以在需要时才创建或加载原始对象,这种延迟加载的策略可以提高系统的启动速度并减少资源消耗。
3. 增强功能:通过代理,我们可以在不修改原始类的情况下增加额外的功能,如日志记录、权限检查、事务处理等。
4. 远程访问:在分布式系统中,代理模式常用于实现远程对象的访问。客户端通过代理对象与远程服务器上的对象进行通信,无需直接处理复杂的网络通信细节。
5. 保护原始对象:代理可以保护原始对象免受不必要的或恶意的访问。例如,代理可以限制对敏感数据的访问或防止对原始对象的非法修改。


IP属地:北京来自iPhone客户端1楼2024-03-04 19:34回复