
设计模式
这里是常用的设计模式
哎呦,帅小伙哦
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
观察者模式
观察者模式原创 2022-10-16 23:15:04 · 109 阅读 · 0 评论 -
迭代器设计模式
设计模式原创 2022-10-16 19:45:20 · 180 阅读 · 0 评论 -
组合设计模式
设计模式原创 2022-10-16 19:10:02 · 79 阅读 · 0 评论 -
职责链模式
职责链原创 2022-10-13 23:46:04 · 109 阅读 · 0 评论 -
适配器模式
适配器模式将一个类的接口。转换成客户期望的另外一个接口。适配器让原本接口不兼容的类能够合作无间。一般使用对象组合的方式实现(设计模式六大原则之一多用组合少用继承)。#ifndef SAFE_DELETE#define SAFE_DELETE(p) { if(p){delete(p); (p)=NULL;} }#endifclass IRussiaSocket{//要被适配的,利用其它已有的方法实现这个类的方法public: // Use both feet to charge i.原创 2021-08-20 13:55:18 · 91 阅读 · 0 评论 -
代理模式
属性 属于“接口隔离”模式,在组件构建过程中,某些接口之间直接的依赖常常会带来很多问题、甚至根本无法实现。采用添加一层间接(稳定)接口,来隔离本来互相紧密关联的接口是一种常见的解决方案。这种设计模式属于代理模式。解决什么样的问题 在面向对象系统中,有些对象由于某种原因(比如对象创建的开销很大,或者某些操作需要安全控制,或者需要进程外的访问等),直接访问会给使用者、或者系统结构带来很多麻烦。如何在不失去透明操作对象的同时来管理/控制这些特有的复杂性?增加一层间接层是软件开发中常见的...原创 2020-05-31 17:22:25 · 208 阅读 · 0 评论 -
抽象工厂模式
属性 通过“对象创建”模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。它是接口抽象之后的第一步工作。解决什么样的问题 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时,由于需求的变化,往往存在更多系列对象的创建工作。 如何应对这种变化?如何绕过常规的对象创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?抽象工厂可以解决这个问题。定义 提供一...原创 2020-05-29 21:41:28 · 349 阅读 · 0 评论 -
工厂模式
属性 通过“对象创建”模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。它是接口抽象之后的第一步工作。原创 2020-05-29 11:21:17 · 237 阅读 · 0 评论 -
单例模式
首先,面向对象很好地解决了“抽象”的问题,但是必不可免地要付出一定的代价。对于通常情况讲,面向对象的成本大多可以忽略不计。但是某些情况,面向对象所带来的成本必须谨慎处理。单例模式就可以控制这种成本。为什么要使用单例模式 在软件系统设计中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑性正确、以及良好的效率。如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?这应该是设计者的责任,而不是使用者的责任。主要解决的问题 一个全局使用的类频...原创 2020-05-27 13:41:30 · 205 阅读 · 1 评论 -
策略模式
为什么需要策略模式? 在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。 如何在运用时根据需要透明地更改对象的算法?将算法与对象本身解耦,从而避免上述问题? 策略模式定义一系列算法,把它们一个个封装起来,并且使它们可互相替换(变化)。该模式使得算法可独立于使用它的客户程序(稳定)而变化(通过扩展,子类化的方法)。策略模式主要解决的问题 在有多种算...原创 2020-05-18 17:11:36 · 297 阅读 · 0 评论 -
模板模式
在软件构建过程中,对于某一项任务,它常常有稳定的整体操作结构,但各个子步骤却有很多改变的需求,或者由于固有的原因(比如框架与应用之间的关系)而无法和任务的整体结构同时实现。 如何在确定稳定操作结构的前提下,来灵活应对各个子步骤的变化或者晚期实现需求?...原创 2020-05-18 14:48:56 · 164 阅读 · 0 评论 -
设计模式的概念
1,推荐书籍《设计模式:可复用面向对象软件的基础》一书描述了23种设计模式,创立了模式在软件设计中的地位。2,每一个模式描述了一个在我们周围不断重复发生的问题以及该问题的解决方案的核心。这样,就可以一次次使用这个方案而不用重复劳动。可复用是设计模式的目标。3,人们在解决复杂问题的两个方法分解 人们面对复杂问题有一个常见的做法:即分而治之,将大问题分解为多个小问题,将复杂问题分解为多个简单问题。抽象 有的是只用分解是不够的,更高层次来讲,人们处理复杂性有一个通用...原创 2020-05-17 09:40:50 · 401 阅读 · 0 评论