几种简单的设计模式:单例模式、代理模式、观察者模式、工厂模式

本文介绍了设计模式的重要性和分类,详细讲解了单例模式、代理模式和观察者模式的原理及应用场景,并探讨了工厂模式的三种形式,旨在帮助开发者提升代码的可维护性和可扩展性。
摘要由CSDN通过智能技术生成

设计模式的学习

2022-1-22

数据结构、算法、设计模式、为编程的内功,语言和工具则为招式。

所谓设计模式,就是编写代码的思想。

模式是在特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案。

【A pattern is a successful or efficient solution to a recurring problem within a context】

设计模式用于在特定的条件下为一些重复出现的软件设计问题提供合理的、有效的解决方案。

设计模式可分为创建型(Creational),结构型(Structural)和行为型(Behavioral)三种,

其中创建型模式主要用于描述如何创建对象,

结构型模式主要用于描述如何实现类或对象的组合,

行为型模式主要用于描述类或对象怎样交互以及怎样分配职责

优点:

设计模式将有助于提高系统的可维护性和可扩展性、

常见的几种设计模式

设计模式的原则

1. 单一职责原则  
    示例:如设计图表库,Chart类的职责过重,它负责初始化和显示所有的图表对象,
         将各种图表对象的初始化代码和显示代码集中在一个类中实现,违反了“单一职责原则”,不利于类的重用和维护;
2. 开闭原则
    示例:设计图表库,当需要增加新类型的图表时,必须修改Chart类的源代码,违反了“开闭原则”。即扩展是开放的,修改是关闭的。

0.单例模式

定义:确保一个类最多只有一个实例,并提供一个全局访问点

单例模式可以分为两种:预加载和懒加载

实际应用:在设计管理类的时候,会考虑需不需要,设为单例模式。
创建类的时候,在类的内部生成自己的实例,不允许在类的外部去创建多个实例

//这种形式就是 单例模式的预加载,会占用内存
class soundManager{
   
    //创建唯一实例
    static Instance=new soundManager;  //使用静态 可是用类名调用属性
    private constructor(){
      //私有化构造函数  就能确保一个类最多就只能创建一个实例

    }
}
soundManager.Instance
// 这种懒加载的单例模式,在需要的时候会被创建。
class soundManager{
   
    private static instance:soundManager=null;
    private constructor(){
   };

    public Instace(){
   
        if(!soundManger.instace){
   
            soundManger.instance = new soundManger;
        }
        return soundManger.instance;
    };  //把创建实例变为方法
}
soundManager.Instance(); //使用方法去调用单例实例,当没有的时候在创建实例,比第一
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值