
设计模式
文章平均质量分 54
ACERROR
去码头搞点薯条
展开
-
C++设计模式之桥接模式
桥接模式:将抽象部分与现实部分分离,使它们都可以独立变换。以下情形考虑使用桥接模式:1.当一个对象有多个变化因素的时候,考虑依赖于抽象的实现,而不是具体的实现。2.当多个变化因素在多个对象间共享时,考虑将这部分变化的部分抽象出来再聚合/合成进来。3.当一个对象的多个变化因素可以动态变化的时候。优点:将实现抽离出来,再实现抽象,使得对象的具体实现依赖于抽象,满足了依赖倒转原则。更好的可扩展性。可动态的切换实现。桥接模式实现了抽象和实现的分离,在实现桥接模式时,就可以实现动态的选择具体的实现。原创 2021-11-04 11:28:32 · 447 阅读 · 0 评论 -
C++设计模式之模板方法模式
模板方法模式由两部分结构组成:抽象父类和具体的实现子类。通常在抽象父类中封装了子类的算法框架,也包括实现一些公共方法以及封装子类中所有方法的执行顺序。子类通过继承这个抽象类,也继承了整个算法结构,并且可以选择重写父类的方法。所以我们可以定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。当多个类有相同的方法,并且逻辑相同,只是细节上有差异时,可以考虑使用模板模式。具体的实现上可以将相同的核心算法设计为模板方法,具体的实现细节由子原创 2021-11-01 20:56:26 · 453 阅读 · 0 评论 -
C++设计模式之职责链模式
职责链模式职责链模式是使多个对象都有机会处理请求,从而避免请求的发送者和接受者之前的耦合关系。在职责链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这条链上传递,直到链上的某一个对象决定处理此请求。在公司中不同的岗位拥有不同的职责与权限。以上述的请假流程为例,当X请一天假的时候,只要组长审批就可以了,不需要流转到主管和总监。如果职责链上的某个环节无法处理当前的请求,若含有下个环节,则会把请求转交给下个环节来处理。职责链上的处理负责处理请求,客户只需要将请求发送到职责链上即可,原创 2021-10-29 16:44:32 · 288 阅读 · 0 评论 -
C++设计模式之策略模式
策略模式(Strategy Pattern)定义了一些列的算法,把它们一个个封装起来,并且使它们可以相互替换。策略模式的重心不是如何实现算法,而是如何组织、调用这些算法,从而让程序结构更灵活、可维护、可扩展。exp:一些主流的Web站点中,都提供了多种不同的登录方式。比如账号密码登录、手机验证码登录和第三方登录。为了方便维护不同的登录方式。这使得算法可以独立于它的客户端而变化,也就是说这些算法所完成的功能类型是一样的,对外接口也是一样的,只是不同的策略为引起环境角色表现出不同的行为。相比于使用大量的原创 2021-10-28 19:56:59 · 289 阅读 · 0 评论 -
C++设计模式之观察者模式和发布订阅模式
在软件工程中,设计模式(Design Pattern)是对软件设计普遍存在(反复出现)的各种问题,锁提出的解决防范。根据模式的目的来划分的话,GoF(Gang of Four) 设计模式可以分为以下三种类型:1.创建型模式:用来描述“如何创建对象”,它的主要特点是“将对象的创建和使用分离”。包括单例、原型、工厂方法、抽象工厂和建造者5种模式。2.结构型模式:用来描述如何将类或对象按照某种布局组成更大的结构。包括代理、适配器、侨接、装饰、外观、享元和组合7种模式。3.行为型模式:用来识别对象之间的常用原创 2021-10-15 20:09:59 · 2130 阅读 · 2 评论 -
C++设计模式之适配器模式
在软件工程中,设计模式(Design Pattern)是对软件设计普遍存在(反复出现)的各种问题,锁提出的解决防范。根据模式的目的来划分的话,GoF(Gang of Four) 设计模式可以分为以下三种类型:1.创建型模式:用来描述“如何创建对象”,它的主要特点是“将对象的创建和使用分离”。包括单例、原型、工厂方法、抽象工厂和建造者5种模式。2.结构型模式:用来描述如何将类或对象按照某种布局组成更大的结构。包括代理、适配器、侨接、装饰、外观、享元和组合7种模式。3.行为型模式:用来识别对象之间的常用原创 2021-10-15 15:33:40 · 363 阅读 · 0 评论 -
C++设计模式之单例模式
在软件工程中,设计模式(Design Pattern)是对软件设计普遍存在(反复出现)的各种问题,锁提出的解决防范。根据模式的目的来划分的话,GoF(Gang of Four) 设计模式可以分为以下三种类型:1.创建型模式:用来描述“如何创建对象”,它的主要特点是“将对象的创建和使用分离”。包括单例、原型、工厂方法、抽象工厂和建造者5种模式。2.结构型模式:用来描述如何将类或对象按照某种布局组成更大的结构。包括代理、适配器、侨接、装饰、外观、享元和组合7种模式。3.行为型模式:用来识别对象之间的常用原创 2021-10-14 17:10:17 · 141 阅读 · 0 评论 -
C++设计模式之工厂模式
在软件工程中,设计模式(Design Pattern)是对软件设计普遍存在(反复出现)的各种问题,锁提出的解决防范。根据模式的目的来划分的话,GoF(Gang of Four) 设计模式可以分为以下三种类型:1.创建型模式:用来描述“如何创建对象”,它的主要特点是“将对象的创建和使用分离”。包括单例、原型、工厂方法、抽象工厂和建造者5种模式。2.结构型模式:用来描述如何将类或对象按照某种布局组成更大的结构。包括代理、适配器、侨接、装饰、外观、享元和组合7种模式。3.行为型模式:用来识别对象之间的常用交原创 2021-10-13 21:16:32 · 439 阅读 · 0 评论 -
C++ 设计模式之建造者模式
在软件工程中,设计模式(Design Pattern)是对软件设计普遍存在(反复出现)的各种问题,锁提出的解决防范。根据模式的目的来划分的话,GoF(Gang of Four) 设计模式可以分为以下三种类型:1.创建型模式:用来描述“如何创建对象”,它的主要特点是“将对象的创建和使用分离”。包括单例、原型、工厂方法、抽象工厂和建造者5种模式。2.结构型模式:用来描述如何将类或对象按照某种布局组成更大的结构。包括代理、适配器、侨接、装饰、外观、享元和组合7种模式。3.行为型模式:用来识别对象之间的常用原创 2021-10-12 17:08:51 · 289 阅读 · 0 评论