
设计模式
文章平均质量分 50
wolves_liu
一起学习
展开
-
【设计模式】适配器模式 C++实现
/******************************************参考资料:《大话设计模式》******************************************/一、概念适配器模式(Adapter):将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那个类可以一起工作。二、什么情况下使用适配器模式:系统的数据和行为都正确,但接口不符时,应该考虑使用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模原创 2021-05-31 14:27:28 · 149 阅读 · 0 评论 -
【设计模式】工厂方法模式 C++实现
一、概念工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。二、简单工厂 VS 工厂方法简单工厂的缺点:https://blog.youkuaiyun.com/yaodaoji/article/details/116920172我们还是以计算器为例来分析,现在已经有了加减乘除运算,现在我们还想再加一个开根号运算,此时,我们需要在工厂类的case中再添加分支。我们修改了原来的类,这就违背了“开放 - 封闭原则”。所以这种模式不好原创 2021-05-27 11:42:30 · 136 阅读 · 0 评论 -
【设计模式】装饰模式 C++实现
/***********************************************************************************************参考博客:https://blog.youkuaiyun.com/wuzhekai1985/article/details/6672614参考书籍:《大话设计模式》*********************************************************************************原创 2021-05-26 13:44:37 · 233 阅读 · 2 评论 -
【设计模式】单一职责原则
单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。简单说就是一个类只负责一个职责或功能。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计。当变化发生时,设计会遭受到意想不到的破坏。...原创 2021-05-24 16:16:03 · 196 阅读 · 0 评论 -
【设计模式】开放 — 封闭原则
开放 — 封闭原则:对软件实体(类、模块、函数等等)的更改封闭,对扩展开放。通俗的来说就是,不要修改原来已经写好的类、函数等代码,原来写好的最好不要修改,只新增代码。这就是开放-封闭原则。so easy!...原创 2021-05-24 15:54:08 · 144 阅读 · 0 评论 -
【设计模式】简单工厂模式 C++实现
一、概念工厂类作用:是一种实例化对象的方式,创造实例。只要输入需要实例化对象的名字,就可以通过工厂类相应的工厂函数来制造你需要的实例对象。简单工厂模式的核心是,对于一个父类的多个继承子类,工厂函数根据用户输入,自动new出一个子类对象并返回其父类的指针,这样利用父类的指针执行父类的虚函数,就可以动态绑定子类的重写函数,从而实现多态。二、例子讲解:计算器Operation为父类,加减乘除为Operation的四个子类,重写Result(),定义工厂类中的工厂函数,其根据用户的输入new出相应的对象实例原创 2021-05-17 11:27:38 · 190 阅读 · 0 评论 -
【设计模式】单例模式 C++实现
一、概念单例模式(Singleton): 保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。二、实现方法单例模式有三种实现方法:懒汉式、双重锁定(Double-Check-Locking)、饿汉式。1. 懒汉式先看代码:class Singleton //实现单例模式的类 {原创 2021-05-11 16:15:25 · 1459 阅读 · 4 评论