当前位置: 首页 > news >正文

设计模式相关

设计模式相关

本节知识点

  • 工厂模式及自定义事件
  • 抽离英雄基类
  • 设计原则
  • 单例模式使用
  • 装饰者模式使用
  • 代理模式
  • 观察者模式
  • 适配器模式…

课堂目标

  • 学会各种设计模式的使用
  • 学会面向对象中抽象使用
  • 理解类中的继承
  • oop思想规划项目

设计原则

SOLID(稳定的)

  • 单一职责原则(Single Responsibility Principle)

    一个类应该只有一个发生变化的原因。简而言之就是每个类只需要负责自己的那部分,类的复杂度就会降低。

  • 开闭原则(Open Closed Principle)

    • 一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭
  • 里氏替换原则(Liskov Substitution Principle)

    所有引用基类的地方必须能透明地使用其子类的对象,也就是说子类对象可以替换其父类对象,而程序执行效果不变。

  • 迪米特法则(Law of Demeter)

    迪米特法则(Law of Demeter)又叫作最少知识原则(The Least Knowledge Principle),一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解,只和朋友通信,不和陌生人说话。

  • 接口隔离原则(Interface Segregation Principle) flow 、ts

    • 多个特定的客户端接口要好于一个通用性的总接口
  • 依赖倒置原则(Dependence Inversion Principle)
    1、上层模块不应该依赖底层模块,它们都应该依赖于抽象。
    2、抽象不应该依赖于细节,细节应该依赖于抽象

案例内容扩展

  • 扩展皮肤功能

  • 抽离英雄基类

    • 每个英雄的共有属性
    • 共有方法及独特方法
  • 抽离技能基类

设计模式

​ 设计模式是软件开发人员在软件开发过程中面临的一些具有代表性问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的;

单例模式

  • 单例模式 (Singleton Pattern)又称为单体模式,保证一个类只有一个实例,并提供一个访问它的全局访问点。也就是说,第二次使用同一个类创建新对象的时候,应该得到与第一次创建的对象完全相同的对象。

    • 通过静态属性创建单例

      class Person{static instance = null;constructor(name){if(Person.instance){return Person.instance;}Person.instance = this;this.name = name;}
      }
    • 通过函数创建单例

      let instance;
      function createInstance(...arg){if(!instance){instance = new Game(...arg);}return instance;
      }
      
    • 实现game类的单例

      • 优:单例模式节约内存开支和实例化时的性能开支,节约性能;
      • 缺:单例模式扩展性不强

工厂模式

  • 工厂模式 (Factory Pattern),封装具体实例创建逻辑和过程,外部只需要根据不同条件返回不同的实例。
    • 优点:实现代码复用性,封装良好,抽象逻辑;
    • 缺点:增加了代码复杂程度;

装饰者模式

  • 装饰者模式 (Decorator Pattern)使用一种更为灵活的方式来动态给一个对象/函数等添加额外信息
    • 扩展功能 和继承类似
    • 扩展不同类的功能,和原始类并无关联;

观察者模式(自定义事件)

  • 观察者模式 (Observer Pattern) 定义一个对象与其他对象之间的一种依赖关系,当对象发生某种变化的时候,依赖它的其它对象都会得到更新
    • 自定义事件绑定addEvent
    • 自定义事件触发trigger
    • 自定义事件移除removeEvent
  • 实现案例GameEvent类

代理模式

  • 代理模式 为其他对象提供一种代理以控制对这个对象的访问,类似于生活中的中介。
    • 为hero添加代理模式 控制 伤害的输出

适配器模式

  • 两个不兼容的接口之间的桥梁,将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

享元模式

享元模式:运用共享技术来有效地支持对象的复用,以减少创建的对象的数量。

  • 通过共享对象节约内存资源,提高性能和效率

课程总结

  • 工厂模式及观察者模式
  • 抽离英雄基类
  • 抽离技能基类
  • 扩展皮肤类
  • 单例模式使用
  • 装饰者模式使用
  • 代理模式

http://www.mrgr.cn/news/14471.html

相关文章:

  • Spring八股文
  • 手机三网状态实时查询分享
  • git 如何在切换分支时不丢弃本地修改
  • Android活动(activity)与服务(service)进行通信
  • 计算机毕业设计选题推荐-游戏比赛网上售票系统-Java/Python项目实战
  • APP.vue引入子组件进行页面展示
  • dbeaver数据库工具配置连接openGauss5.X
  • 【MATLAB源码-第147期】基于matlab的QPSK调制解调在AWGN信道,瑞利信道,莱斯信道理论与实际误码率对比仿真。
  • 解决ubuntu22.04无法识别CH340/CH341和vscode espidf插件无法选择串口设备节点问题
  • 高效网络管理解决方案及“监控易”推荐
  • Spring+SpringWeb+MyBatis三大框架整合教程 实现先前后端交互搭建
  • [000-01-022].第03节:RabbitMQ中的优先级队列
  • 极光推送(JPush)赋能登虹科技,打造智慧视觉云平台新体验
  • 279. 完全平方数
  • 华为HCIA考试大纲
  • 【k8s】Kubernetes初步
  • FPGA第 5 篇,FPGA技术优略势,FPGA学习方向,FPGA学习路线(FPGA专业知识的学习方向,FPGA现场可编程门阵列学习路线和方向)
  • 【计算机视觉】Pixel逐像素分类Mask掩码分类理解摘要
  • 建筑行业架子工试题
  • 谷歌Chrome漏洞奖励升级:最高可达25万美元,推动高质量安全研究