设计模式
软件设计模式
路路缘石
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
适配器模式
适配器是一种结构型设计模式,它能使接口不兼容的对象能够相互合作。适配器可以转换不同格式的数据,有助于采用不同接口的对象之间的合作运作方式1.适配器实现与其中一个现有对象兼容的接口2.现有对象可以使用该接口安全地调用适配器方法。......原创 2022-08-04 11:13:04 · 344 阅读 · 0 评论 -
建造者模式/生成器模式
建造者模式是一种创建型设计模式,能够分步骤创建复杂对象。该模式允许使用相同的创建代码生题不同类型和形式的对象。建造者模式建议将对象构造代码从产品类中抽取出来,并将其放在一个名为生成器的独立对象中。你可以将复杂构造代码从产品的业务逻辑中分离出来。可以分步创建对象,暂缓创建步骤或递归运行创建步骤。由于该模式需要新增多个类,因此代码整体复杂度增加。生成不同形式的产品时,你可以复用相同的制造代码。...原创 2022-08-03 15:26:57 · 293 阅读 · 0 评论 -
C++单例模式
单例模式,通过创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例)自己负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。1.将默认构造函数设为私有,防止其他对象使用单例类的new运算符2.新建一个静态构造方法作为构造函数。该函数调用私有构造函数来创建对象,并将其保存在一个静态成员变量中。此后所有对于该函数的调用都将返回这一缓存对象。1.可以保证一个类只有一个实例2.获得了一个指向该实例的全局访问点。......原创 2022-08-03 10:55:17 · 322 阅读 · 0 评论 -
抽象工厂模式
区别抽象工厂模式相对于工厂方法模式来说,就是工厂方法模式是针对一个产品系列的,而抽象工厂模式是针对多个产品系列的,即工厂方法模式是一个产品系列一个工厂类,而抽象工厂模式是多个产品系列一个工厂类。在抽象工厂模式中,客户端不再负责对象的创建,而是把这个责任丢给了具体的工厂类,客户端只负责对对象的调用,从而明确了各个类的职责。简介抽象工厂模式用于产品族的构建,抽象工厂是指当有多个抽象角色时使用的一种工厂模式。抽象工厂模式可以向客户提供一个接口,使客户端在不必指定产品的具体情况下,创建多个产品族中的产品对象。...原创 2022-08-02 15:43:14 · 156 阅读 · 0 评论 -
工厂方法模式
简介工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不在负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。工厂方法模式是简单工厂模式的衍生,解决了许多简单工厂模式的问题。3.系统的可扩展性也就变地非常好无需修改接口和原类。1.增加系统中类的个数,复杂度和理解度增加。2.增加了系统的抽象性和理解难度。2.实现了对象创建和使用的分离。......原创 2022-08-02 10:41:26 · 187 阅读 · 0 评论 -
简单工厂模式
1.简单工厂模式,增加新的功能是通过修改源代码实现,不符合开闭原则。定义定义了一个创建对象的类,由这个类来封装实例化对象的行为。2.这个类职责过重,这个类发生问题会影响很多使用这个工厂的实例。2.对于某些对象创建过程比较复杂,我们不考虑。1.客户端和具体实现类解耦。......原创 2022-08-01 20:24:11 · 148 阅读 · 0 评论 -
软件设计模式初步
实现“开闭”原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。里氏原则是继承复用的基石,只有当衍生类可以替换基类,软件单元的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。一个类对自己依赖的类知道的越少越好。写代码时用到具体类时,不与具体类交互,而与具体类的上层接口交互。适配器模式,装饰者模式,代理模式,外观模式,桥接模式,组合模式,享元模式。工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。...原创 2022-08-01 16:05:48 · 136 阅读 · 0 评论
分享