嗨喽,大家好!我是程序员小辉辉,上期介绍了PC端布局的方式之圣杯布局,小伙伴们你么你学会了吗,这次小辉辉又来了,而且带来了重中之重的东西,呢就是设计模式,呢什么是设计模式那,设计模式在开发中又有什么作用呢?这次小辉辉就带你们学习一下!
首先,设计模式是一种设计程序思维方式,坦白的说,我们学习编程不是学的技术,学的工作经验,而是学习一种思维方式,用这种思维方式来书写代码和开发,使用设计模式是为了让系统代码可重用、可扩展、可解耦、更容易被人理解且能保证代码可靠性!所以说,学好设计模式是对以后的编程生涯有很大的帮助!
第一种设计模式:单例模式
解释:一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。但是在JS中没有类这个概念,所以我们要通过一些别的手段来实现单例。
优点:
1:在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例。
2:避免对资源的多重占用(比如写文件操作)
缺点:
没有接口,不能继承,与单一职责原则冲突,一个单例应该只关心内部逻辑,而不关心外面怎么样来实例化
现实中的单例例子:
铁打的黑板,流水的学生。
alert()的使用多个alert要保证唯一性
第二种设计模式:代理模式
解释:定义:一个对象委托另一个对象去做某个任务 中间代理人
优点: 1、职责清晰。2、高扩展性。3、智能化。
缺点: 1、由于在客户端和真实主题之间增加了代理对象,因此有些类型的代理模式可能会造成请求的处理速度变慢。
2、实现代理模式需要额外的工作,有些代理模式的实现非常复杂。
例子: 1:买火车票不一定在火车站买,也可以去代售点
2:追女孩子找人帮忙送信
第三种设计模式:适配器模式
解释: 作为两个不兼容的接口之间的桥梁
优点:
1、可以让任何两个没有关联的(对象和方法)一起运行。
2、提高了代码的复用。
3、增加了代码的透明度。
4、灵活性好。
缺点:过多地使用适配器,会让系统非常零乱,不易整体进行把握
例子:
1.多功能读卡器
2.手机口转USB
第四种设计模式:观察者模式
解释:观察者模式又叫做发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得他们能够自动更新自己
例子:
观看直播