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