![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
文章平均质量分 77
设计模式参考b站李建忠老师的视频。
风赤
qq_1562794938
展开
-
c++设计模式对象性能(六)
对象性能模式面向对象很好的解决了“抽象”的问题,但是必不可免地要付出一定的代价。对于通常情况来讲,面向对象的成本都可以忽略不计。但是某些情况,买你想对象所带来的成本必须谨慎处理。典型模式SingletonFlyweightSingleton单件模式动机(Motivation)在软件系统中,经常有这样一些特殊的类,必须保证他们在西戎中只存在一个实例,才能确保他们的逻辑正确性,以及良好的效率。...原创 2020-09-21 19:22:32 · 73 阅读 · 0 评论 -
C++设计模式对象创建模式(五)
对象创建模式通过“对象创建”’模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。他是接口抽象之后的第一步工作。典型模式Factory MethodAbstract FactoryPrototypeBuilderFactory Method工厂方法动机(Motivation)在软件系统中,经常面临着创建对象的工作;由于需求的变化,需要创建的对象的具体类型经常变化。如何应对这种变化?如何绕过常规的对象创建方法原创 2020-09-13 20:13:32 · 140 阅读 · 1 评论 -
C++设计模式单一职责模式(四)
单一职责模式:在软件组件的设计中,如果责任划分不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。典型模式DecoratorBridge...原创 2020-09-13 19:24:22 · 126 阅读 · 0 评论 -
C++设计模式组件协同(三)
GOF分类从目的来看:创建型(Creational)模式,将对象的创建工作延迟到子类或者其他对象,从而应对需求变化为对象创建时具体类型实现引来的冲击。结构型(Structural)模式:通过类继承或者对象组合获得更灵活的结构,从而应对需求变化为对象的结构带来的冲击。行为型(Behavioral)模式:通过类继承或者对象来划分类与对象间的职责,从而应对需求变化为多个交互对象带来的冲击。从范围来看类模式处理与子类的静态关系对象模式处理对象间的动态关系从封装变化角度对模式分类组件原创 2020-09-13 16:38:42 · 239 阅读 · 0 评论 -
c++设计模式面向对象设计原则(二)
面向对象设计原则面向对象设计最大的优势在于抵御变化!什么认识下什么是面向对象理解隔离变化从宏观层面来看,面向对象的构建方式更能适应软件的变化,能将变化所带来的影响减为最小。各司其职从微观层面来看,面向对象的方式更强调各个类的“责任”由于需求变化导致的新增类型不应该影响原来类型的实现——是所谓各负其责。对象是什么从语言实现层面来看,对象封装了代码和数据从规格层面来看,对象是一系列可被使用的公共接口。从概念层面讲,对象是某种拥有责任的抽象。面向对象设计的原则依赖倒置原则(DIP)原创 2020-09-13 11:15:32 · 115 阅读 · 0 评论 -
C++设计模式(一)
设计模式实现的目标理解松耦合设计思想掌握面向对象设计原则掌握重构技法改善设计掌握GOF核心设计模式什么是设计模式每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。——Christopher Alexander对于程序员来说,要有底层思维和抽象思维。底层思维:向下,如何把握机器底层从微观理解对象构造。主要有以下四点:语言构造 、编译转换、内存模型、运行时机制。抽象思维:向上,如何将我们的周围世界抽象为程原创 2020-09-13 08:57:34 · 155 阅读 · 0 评论