c/c++设计模式

一.前言

用好设计模式,可以提高代码水平,所以把学过C++设计模式的做个总结和分类。

二.七大原则

  • 单一职责原则:一般来说,类和函数的颗粒度越小越好。一个函数只有一项功能,一个类只负责一项功能。
  • 开闭原则:对拓展开放、对修改关闭。
  • 依赖倒置原则:高层模块不应该依赖底层模块,应该通过抽象(中间层)来依赖。
  • 合成复用原则:尽量使用对象的组合/聚合来达到复用,而不是通过继承达到复用。组合通过将一个类的实例作为另一个类的成员来实现代码复用。组合是"has a",继承是"is a"
  • 迪米特法则:即最少知道原则,一个实体应尽量减少与其它实体之间发生相互作用,使得系统各功能模块相对独立。??
  • 里氏替换原则:任何基类可以出现的地方,子类一定可以出现。??
  • 接口隔离原则:使用多个隔离的接口比使用单个接口更好,以降低类的耦合度。??

三.分类

设计模式可以分为三类

  • 创建型模式
    简单工厂(不在23种之列)、工厂方法、抽象工厂、单例
  • 结构型模式
    代理、装饰、外观、适配器
  • 行为型模式
    模板方法、观察者、状态模式、命令、策略、

四.创建型模式介绍

  • 简单工厂:一个工厂负责所有类的创建。用户需要什么类,这个工厂就创建哪个类。
  • 工厂方法:把工厂抽象出来,一个工厂一个对应一个类,需要什么类就找哪个工厂;符合了开闭原则。
  • 抽象工厂:针对某个系列的类(产品族)来对工厂进行抽象进行。
  • 单例模式:一个对象的get方法,多次调用保证系统全局只存在一个。

五.结构型模式介绍

  • 代理模式:用一个代理,去控制其它对象对"服务器"的访问,这个代理相当于一个缓冲服务器。
  • 装饰模式:动态地给一个类增加功能。LOL盖伦,买了件狂徒铠甲,变成了一个全新的、血更厚的盖伦,和原来扛不住伤害地自己说了拜拜(删除了原来地对象)。
  • 外观模式:不同的场景,需要不同道具的开关组合。
  • 适配器模式:接口适配。

六.行为型模式介绍

  • 模板方法:对同一类行为(泡牛奶和泡咖啡,不同协议的解析)抽象出方法、步骤。
  • 观察者模式:多个观察者,一个被观察者;被观察者发生变化,通知所有观察者。
  • 状态模式:状态机。状态、事件、行为。
  • 策略模式:LOL盖伦的攻击:自身技能的攻击有沉默、旋转、大宝剑;召唤师技能:引燃、虚弱。
  • 命令模式:客户端和服务器之前的通信,服务器接收不同命令请求缓存到队列中,依次执行不同的动作。
posted @   Charles_hui  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示