![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 82
大胡子的艾娃
业精于勤荒于嬉,行成于思毁于随。
展开
-
重构全面总结
改善设计、提高可读性、减少缺陷都是为了稳住阵脚。良好的设计是成功的一半,停下来通过重构改进设计,或许会在当前减缓速度,但它带来的后发优势却是不可低估的。2、提高代码质量和可读性,使软件系统更易理解和维护。1、改进软件设计(整理代码)3、帮助尽早的发现错误。转载 2023-02-09 16:35:16 · 103 阅读 · 0 评论 -
StarUML类图与C++类之间的关系
如有错误的地方欢迎指正,谢谢!类之间的关系1.generalization 泛化(继承)2.interface realization 虚基类与实现3.aggregation 聚合 has-a的关系4.composition 组合 整体和个体是一种contains-a的关系,个体无整体无法单独存在5.dependency 依赖 Class2的某个函数的返回值、形参、局部变量或对Class1静态方法的调用 6.directed association 单向关转载 2021-02-10 21:35:26 · 557 阅读 · 0 评论 -
结构型模式Structural Patterns之桥接模式bridge
@著作权归作者所有:来自CSDN博客作者大胡子的艾娃的原创作品,如需转载,请注明出处https://blog.csdn.net/qq_43148810,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!一、Messager 类设计的场景:1、由于某些类型的固有的实现逻辑,使得它们具有两个变化的维度, 乃至多个纬度的变化。2、利用面向对象技术来使得类型可以轻松地沿着两个乃至多个方向变化,而不引入额外的复杂度。例如:Messager 类的方法有平台实现{PlaySound,DrawShape,Writ原创 2020-05-25 22:57:54 · 170 阅读 · 1 评论 -
结构型模式Structural Patterns之装饰模式decorator
@著作权归作者所有:来自CSDN博客作者大胡子的艾娃的原创作品,如需转载,请注明出处https://blog.csdn.net/qq_43148810,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!一、3个具体类继承一个抽象类,单一责任原则各自实现抽象基类中的三个方法。#pragma once#include<iostream>//业务操作class Stream {public: virtual void Read(int number)const = 0; virtu原创 2020-05-15 01:15:37 · 122 阅读 · 0 评论 -
创建型模式Creational Patterns之工厂模式factory method
@著作权归作者所有:来自CSDN博客作者大胡子的艾娃的原创作品,如需转载,请注明出处https://blog.csdn.net/qq_43148810,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!一、四个具体类继承一个抽象类,各自实现抽象基类中的split()方法、类内(也可放到类外)工厂类实现创建方法。单一责任原则,各自类各自实现自己的方法(split()、CreateSplitter)。#pragma once#include <iostream>//抽象类class I原创 2020-05-10 00:57:23 · 156 阅读 · 0 评论 -
创建型模式Creational Patterns之单例模式singleton
@著作权归作者所有:来自CSDN博客作者大胡子的艾娃的原创作品,如需转载,请注明出处https://blog.csdn.net/qq_43148810,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!一、单线程懒汉版本(static对象)class Singleton{private: Singleton() = default; Singleton(const Singleton...原创 2020-05-09 22:32:00 · 196 阅读 · 0 评论 -
设计模式之六大原则和GOF分类方法
@著作权归作者所有:来自CSDN博客作者大胡子的艾娃的原创作品,如需转载,请注明出处https://blog.csdn.net/qq_43148810,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!一、设计模式的六大原则1、开闭原则(Open Close Principle)开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。...原创 2020-03-18 23:38:39 · 365 阅读 · 0 评论