
二十三种设计模式
cpp_learners
C/C++、qt、MySQL、算法 学习者
展开
-
《二十三种设计模式》 第五篇 “工厂模式” (C++实现)
工厂模式是二十三中设计模式中最常用的一种模式之一,几乎所有开源的框架都有用到工厂模式。工厂模式可以分为三种:简单工厂模式、工厂方法模式、抽象工厂模式。其中,简单工厂模式并没有列入到二十三中设计模式中,应为其太简单了,而且违反了开闭原则。工厂方法模式 与 抽象工厂模式都是简单工厂模式的延伸。对于工厂模式,其最主要的作用就是定义对象返回!就是另外再定义类来定义需要使用到的对象,而不再是在main函数中定义对象。通俗的讲就是分配对象返回(工厂模式就是用来生产对象的)。简单工厂模式简单工厂模式是三原创 2020-05-26 23:38:13 · 2672 阅读 · 0 评论 -
《二十三种设计模式》 第四篇 “代理模式” (C++实现)
代理模式的原理:代理(Proxy)提供了间接对目标对象进行访问的方式,即通过代理对象访问目标对象。其好处是:可以在目标对象实现的功能上,增加额外的功能补充,即扩展目标对象的功能。这就符合了设计模式的开闭原则,即在对既有代码不改动的情况下进行功能的扩展。举个例子:明星与经纪人之间就是被代理和代理的关系,明星出演活动的时候,明星就是一个目标对象,他只要负责活动中的节目,而其他琐碎的事情就交给他的代理人(经纪人)来解决。这就是代理思想在现实中的一个例子。角色说明抽象角色声明真实对象和代原创 2020-05-23 19:00:01 · 502 阅读 · 0 评论 -
《二十三种设计模式》 第三篇 “中介者模式” (C++实现)
定义:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。简单点来说,将原来两个直接引用或者依赖的对象拆开,在中间加入一个‘中介’对象,使得两头的对象分别和‘中介’对象引用或者依赖。中介者模式的组成部分:种类说明抽象中介者模式抽象中介者角色定义统一的接口用于各同事角色之间的通信;具体中介者角色具体中介者角色通过协调各同事角色实现协作行为。为此它要知道并引用各个同事角色;同事角色每一个同事角原创 2020-05-18 17:51:14 · 567 阅读 · 0 评论 -
《二十三种设计模式》 第二篇 “外观模式” (C++实现)
定义:外观模式定义了一个将子系统的一组接口集成在一起的高层接口,以提供一个一致的界面。通过这个界面,其它系统可以方便地调用子系统中的功能,而忽略子系统内部发生的变化。使用场景:为一个比较复杂的子系统提供一个简单的接口;将客户程序与子系统的实现部分分离,提高子系统的独立性、可移植性;简化子系统间的依赖关系。外观是一个能为子系统和客户提供简单接口的类。当正确的应用外观,客户不再直接和子系...原创 2020-05-04 20:30:34 · 534 阅读 · 0 评论 -
《二十三种设计模式》 第一篇 “适配器模式” (C++实现)
适配器模式适配器模式是很多企业在项目中都会用到的模式,他的独特之处在于可以将两个不兼容的接口完美的兼容到一起,执行出客户端需要的结构。把一个类的接口转换成客户端所期待的另一种接口,从而使原接口不匹配无法在一起工作的两个类能在一起工作。从功能上讲这些接口不兼容的类一般具有相同或相似的功能。通常我们通过修改该类的接口来解决这种接口不兼容的情形,但是如果我们不愿意为了一个应用而修改各原有的接口...原创 2020-04-19 21:18:25 · 582 阅读 · 0 评论