摘要: 概述 装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为。在现实生活中,这种情况也到处存在,例如一张照片,可以不改变照片本身,给它增加一个相框,使得它具有防潮的功能,而且用户可以根据需要给它增加不同类型的相框,甚至可以在一个小相框的外面再套一个大相框。 装饰模式是一种用于替代继承的技 阅读全文
posted @ 2022-10-29 12:10 Leaos 阅读(92) 评论(0) 推荐(0)
摘要: 概述 对于树形结构,当容器对象(例如文件夹)的某一个方法被调用时,将遍历整个树形结构,寻找也包含这个方法的成员对象(可以是容器对象,也可以是叶子对象)并调用执行,牵一而动百,其中使用了递归调用的机制来对整个结构进行处理。由于容器对象和叶子对象在功能上的区别,在使用这些对象的代码中必须有区别地对待容器 阅读全文
posted @ 2022-10-28 11:52 Leaos 阅读(46) 评论(0) 推荐(0)
摘要: 概述 桥接模式是一种很实用的结构型设计模式。如果软件系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展,让系统更加符合单一职责原则。与多层继承方案不同,它将两个独立变化的维度设计为两个独立的继承等级结构,并且在抽象层建立一个抽象关联,该关联关系类似一条连接两个 阅读全文
posted @ 2022-10-27 11:48 Leaos 阅读(121) 评论(0) 推荐(0)
摘要: 概述 与电源适配器相似,在适配器模式中引入了一个被称为适配器(Adapter)的包装类,而它所包装的对象称为适配者(Adaptee),即被适配的类。适配器的实现就是把客户类的请求转化为对适配者的相应接口的调用。也就是说:当客户类调用适配器的方法时,在适配器类的内部将调用适配者类的方法,而这个过程对客 阅读全文
posted @ 2022-10-26 12:00 Leaos 阅读(91) 评论(0) 推荐(0)
摘要: 概述 建造者模式又称为生成器模式,它是一种较为复杂、使用频率也相对较较低的创建型模式。建造者模式为客户端返回的不是一个简单的产品,而是一个由多个部件组成的复杂产品。 建造者模式是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象的创建过程分离,客户端无须知道复杂对象的内部组成部分 阅读全文
posted @ 2022-10-25 09:35 Leaos 阅读(115) 评论(0) 推荐(0)
摘要: 概述 在使用原型模式时,需要首先创建一个原型对象,再通过复制这个原型对象来创建更多同类型的对象。其定义如下:使用原型实例指定创建对象的种类,并且通过克隆这些原型创建新的对象。原型模式是一种对象创建型模式。 原型模式的工作原理很简单:将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求 阅读全文
posted @ 2022-10-24 10:53 Leaos 阅读(50) 评论(0) 推荐(0)
摘要: 简介 工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。此时,可以考虑将一些相关的产品组成一个 "产品族",由同一个工厂来统一生产,这就是抽象工厂模式的基本思想。 比如,对 阅读全文
posted @ 2022-10-23 16:25 Leaos 阅读(65) 评论(0) 推荐(0)
摘要: 简介 在简单工厂模式中只提供一个工厂类,该工厂类处于对产品类进行实例化的中心位置,它需要知道每一个产品对象的创建细节,并决定何时实例化哪一个产品类。简单工厂模式最大的缺点是当有新产品要加入到系统中时,必须修改工厂类,需要在其中加入必要的业务逻辑,这违背了开闭原则。此外,在简单工厂模式中,所有的产品都 阅读全文
posted @ 2022-10-22 13:12 Leaos 阅读(68) 评论(0) 推荐(0)
摘要: 概述 简单工厂模式其实并不属于 GoF 23 个经典设计模式,但是它是其他工厂模式的基础,其基本流程如下: 首先将需要创建的各种不同对象的相关代码封装到不同的类中,这些类称为具体产品类,每一个具体产品类都是抽象产品类的子类;然后提供一个工厂类用于创建各种产品,在工厂类中提供一个创建产品的工厂方法,该 阅读全文
posted @ 2022-10-21 15:09 Leaos 阅读(59) 评论(0) 推荐(0)
摘要: 必要环境 输入如下命令以安装必要的环境: sudo apt-get update sudo apt-get install cmake build-essential g++ python-dev-is-python3 autotools-dev libicu-dev build-essential 阅读全文
posted @ 2022-10-21 14:30 Leaos 阅读(346) 评论(0) 推荐(0)