
软件模式
文章平均质量分 68
C++高级进阶必须要学习的
浩瀚之水_csdn
路漫漫其修远兮,吾将上下而求索,立刻行动,坚持,努立
展开
-
深入浅出之动态内存(new,malloc深度分析)
1. 关键字、操作符与库函数关键字是编译器保留的文字,不能被用户拿来重新声明,像const, new, if等等 操作符必须要有操作对象,操作符本质上可以视为编译器内置的基础的函数。操作符在c++中,可以被重载(除了部分例外,比如 . :: sizeof)。 库函数是编写在编译器头文件库里,要包含头文件才能调用的封装函数。2.自由存储区与堆的区别堆(heap)是C语言和操作系统的术语。堆是操作系统所维护的一块特殊内存,它提供了动态分配的功能,当运行程序调用malloc()时就会从中分配,稍..原创 2021-11-04 10:19:27 · 2317 阅读 · 0 评论 -
深入浅出设计模式原则之迪米特法则(LoD)
下面以“明星与经纪人的关系实例”为例来说明迪米特法则原则的应用分析:明星由于全身心投入艺术,所以许多日常事务由经纪人负责处理,如与粉丝的见面会,与媒体公司的业务洽淡等。这里的经纪人是明星的朋友,而粉丝和媒体公司是陌生人,所以适合使用迪米特法则,其类图如图 1 所示。图1 明星与经纪人的关系图#include <QCoreApplication>#include <iostream>/*! * \brief Star class */class Sta.原创 2021-01-10 21:07:07 · 1004 阅读 · 0 评论 -
深入浅出设计模式原则之接口隔离原则(ISP)
下面以学生成绩管理程序为例介绍接口隔离原则的应用。分析:学生成绩管理程序一般包含插入成绩、删除成绩、修改成绩、计算总分、计算均分、打印成绩信息、査询成绩信息等功能,如果将这些功能全部放到一个接口中显然不太合理,正确的做法是将它们分别放在输入模块、统计模块和打印模块等 3 个模块中,其类图如图 1 所示。图1 学生成绩管理程序的类图#include <QCoreApplication>#include <iostream>/*! * \brief 输入模块 */原创 2021-01-10 19:58:07 · 358 阅读 · 0 评论 -
深入浅出设计模式原则之依赖倒置原则
下面以“顾客购物程序”为例来说明依赖倒置原则的应用。【例1】依赖倒置原则在“顾客购物程序”中的应用。#include <QCoreApplication>#include <iostream>//! shopclass Shop{public: virtual std::string Sell() = 0;};class ShaoguanShop:public Shop{public: std::string Sell(){原创 2021-01-10 15:53:47 · 516 阅读 · 0 评论 -
深入浅出设计模式原则之里氏代换原则(Liskov Substitution Principle)
一、里氏替换原则(源自里氏替换原则——面向对象设计原则)1.1 里氏替换原则的定义里氏替换原则(Liskov Substitution Principle,LSP)由麻省理工学院计算机科学实验室的里斯科夫(Liskov)女士在 1987 年的“面向对象技术的高峰会议”(OOPSLA)上发表的一篇文章《数据抽象和层次》(Data Abstraction and Hierarchy)里提出来的,她提出:继承必须确保超类所拥有的性质在子类中仍然成立(Inheritance should ensure th原创 2021-01-09 15:34:26 · 451 阅读 · 0 评论 -
深入浅出设计模式原则之开闭原则(OCP)
一、开闭原则(源自开闭原则——面向对象设计原则)1.1 开闭原则的定义开闭原则(Open Closed Principle,OCP)由勃兰特·梅耶(Bertrand Meyer)提出,他在 1988 年的著作《面向对象软件构造》(Object Oriented Software Construction)中提出:软件实体应当对扩展开放,对修改关闭(Software entities should be open for extension,but closed for modification),这原创 2021-01-09 14:51:29 · 481 阅读 · 0 评论 -
深入浅出设计模式原则之单一原则(SRP)
一、单一职责原则简介1.1 单一职责原则的定义单一职责原则(Single Responsibility Principle,SRP)又称单一功能原则,由罗伯特·C.马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中提出的。这里的职责是指类变化的原因,单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分(There should never be more than one reason for a class to change)。该原则提出..原创 2021-01-09 14:04:48 · 391 阅读 · 0 评论 -
深入浅出设计模式之设计模式简介
一、什么是设计模式(详见设计模式概念和七大原则)在GoF(Gang of Four)的书籍《Design Patterns - Elements of Reusable Object-Oriented Software(设计模式-可复用面向对象软件的基础)》中是这样定义设计模式的:Christopher Alexander说过:“每一个模式描述了一个在我们周围不断重复发生的问题以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动” [AIS+77,第10页]。尽管Alexand原创 2021-01-09 09:32:23 · 630 阅读 · 0 评论