观察者模式
摘要:参考《大话设计模式》 1、 引入 生活中我们接收信息的渠道多种多样,太过庞杂的信息阅读一定程度上会带来信息垃圾,而选择自己喜欢、感兴趣的内容订阅它,当它状态更新(发布)时通知我们,我们再去查阅,既减少了等待消息的成本,也能及时接收最新消息,这种情形就是观察者模式的典型应用。因此,观察者模式经常用于具
阅读全文
工厂模式之工厂方法模式
摘要:1. 引言 《工厂模式之简单工厂》引言中简单介绍了所有工厂模式中涉及的角色及理解,与简单工厂模式相比,工厂方法模式增加了抽象工厂的角色,具体工厂一般为多个,具体工厂继承抽象工厂。通过一个简单示例说明,有一个抽象工厂能够生产香奈儿的所有产品,此时,会有具体工厂如香奈儿衣服工厂、香奈儿箱包工厂、香奈儿鞋
阅读全文
代理模式
摘要:1.引入 很多情况下,我们无法直接使用某个对象,需要经过一个“中间人”达到目的,该过程即使用了称为代理模式。例如,外网访问需要代理服务器,外国产品需要代购、中介、第三方售票等。使用代理模式能够间接访问到目标对象,具有职责清晰、高扩展性和保护目标对象等优势。 2. 代理模式的定义 为其他对象提供一种代
阅读全文
工厂模式之简单工厂
摘要:1. 引入 在了解工厂模式之前,首先,明确什么是工厂?一般指流程化管理和分配任务,产出某一类或某些类别的产品,提高生产效率。在软件架构设计中,使用工厂模式主要是为了提供一种灵活的对象创建机制,使系统更加易于维护、扩展。它主要是将对象的实例化过程封装在一个单独的类或方法中,使得创建对象和使用对象分离。
阅读全文
代理模式
摘要:一、 引入 日常生活中我们经常会经常见到中介、婚姻介绍所、代购等,作为中间代理人代办某项事务。在代理过程中会涉及到一件事情(目前由代理机构正在代办)、真正需要办理业务的一方和代理业务一方。例如,小王通过中介买房,这一过程涉及角色包括,具体主题对象(小王)、代理对象(中介)。我们要实现的动作是从房地中
阅读全文
单例模式
摘要:单例模式是一种常见的设计模式,其核心为“每个类只能有一个实例”。通过对类中对象实例化的控制,确保某些场景下状态的唯一性。在系统中的某些类只有一个实例非常重要,如打印任务、一个窗口管理器或文件系统等。 背景 在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。例如
阅读全文