![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
highfish920
这个作者很懒,什么都没留下…
展开
-
设计模式---策略模式
策略模式(前端)策略模式指的是定义一些列的算法,把他们一个个封装起来,目的就是将算法的使用与算法的实现分离开来,避免多重判断条件,更具有扩展性。下面也是举个例子,现在超市有活动,vip为5折,老客户3折,普通顾客没折,计算***需要支付的金额,如果不使用策略模式,我们的代码可能和下面一样:function Price(personType, price) { //vip 5 折 if (personType == 'vip') { return price * 0.5; } el原创 2020-09-06 22:48:08 · 59 阅读 · 0 评论 -
设计模式---观察者模式
观察者一般可以看做是第三者,比如在学校上自习的时候,大家肯定都有过交头接耳、各种玩耍的经历,这时总会有一个“放风”的小伙伴,当老师即将出现时及时“通知”大家老师来了。再比如,拍卖会的时候,大家相互叫价,拍卖师会观察最高标价,然后通知给其它竞价者竞价,这就是一个观察者模式。观察者模式又叫做 发布—订阅模式 ,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知和更新,观察者模式提供了一个订阅模型,其中对象订阅事件并在发生时得到通知,这种模式是事件驱动的编程基石,它有原创 2020-09-06 17:35:22 · 60 阅读 · 0 评论 -
设计模式---代理模式
代理模式(前端)代理模式的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。代理模式主要是为其他对象提供一种代理以控制对这个对象的访问,主要解决在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上,在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。(function()原创 2020-09-05 17:49:32 · 89 阅读 · 0 评论 -
设计模式---单例模式
单例模式将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。在该类内部产生一个唯一的实例化对象,并且将其封装为private static类型。定义一个静态方法返回这个唯一对象。单例模式(前端)定义:是保证一个类只有一个实例,并且提供一个访问它的全局访问点。需求:一些对象我们往往只需要一个,比如线程池、全局缓存、浏览器中的window对象、登录浮窗等。实现:用一个变量标识当前是否已经为某个类创建过对象,如果是,则在下一次获取这个类的实例时,直接返回之前创建的对象。优点:可以原创 2020-09-05 16:47:35 · 190 阅读 · 0 评论 -
设计模式---工厂模式
工厂模式包括简单工厂,工厂方法,抽象工厂,这里分别介绍前后端工厂模式以及示例文章目录(前端)工厂模式简单工厂优点:缺点:工厂方法(后端)工厂模式为什么要用工厂模式适用场景简单工厂@Override是什么注解工厂方法适用场景抽象工厂适用场景抽象工厂模式实例(前端)工厂模式简单工厂简单工厂模式又叫静态工厂模式,由一个工厂对象决定创建某一种产品对象类的实例,主要用来创建同一类对象简单工厂在调用return new的时候使用比如说,在实际的项目中,我们常常需要根据用户的权限来渲染不同的页面,高级权限的用原创 2020-09-04 19:08:38 · 106 阅读 · 0 评论