![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 84
月半花开
这个作者很懒,什么都没留下…
展开
-
七种常用设计模式----装饰模式(七)
装饰模式在一些类与类之间有叠加效应(也就是给一个类增加附加功能)的场景中非常好用,它可以说是继承的替代品,有更好的扩展性,也比较灵活。在 Java JDK 源码中也大面积用到了装饰模式,比如:java.io.BufferedInputStream(InputStream)。学完基础知识后,可以看看源码中是怎么实现的,巩固知识。原创 2023-02-17 15:12:10 · 293 阅读 · 0 评论 -
七种常用设计模式----单例模式(三)
单例模式属于创建型模式(Builder Pattern),意图在于保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式在内存中仅创建一次对象,即使多次实例化该类,也只返回第一次实例化后的实例对象,不仅能减少不必要的内存开销,并且在减少全局的函数和变量也具有重要的意义。转载 2023-02-16 16:47:32 · 259 阅读 · 0 评论 -
七种常用设计模式----观察者模式(五)
观察者模式是一个比较特殊的设计模式,它定义了触发机制,观察者只要订阅了被观察者,就可以第一时间得到被观察者传递的信息。在工作中,使用观察者模式的场景也比较多,比如消息队列消费,Android 开发中的事件触发机制等等。好,观察者模式就到这。转载 2023-02-16 21:18:39 · 142 阅读 · 0 评论 -
七种常用设计模式----抽象工厂模式(四)
嗯,先记住这个概念,分清楚两者的区别。这样子理解这句话,比如上面说的轮胎和方向盘,宝马汽车用的轮胎和方向盘需要都是宝马品牌的,也就是说在安装宝马汽车的轮胎和方向盘的时候,得用宝马生产的轮胎和方向盘,重要的一点是:轮胎和方向盘是互相依赖的,不能在宝马汽车上安装奔驰轮胎和宝马方向盘,因为有这个依赖关系,所以我们需要提供一个额外的接口,来保证宝马汽车使用的轮胎和方向盘都是宝马生产的。今天讲的是抽象工厂模式,小伙伴可能有疑问,抽象工厂和工厂方法之间都有工厂,那肯定是有什么联系的,具体是什么关系呢?原创 2023-02-16 21:13:27 · 242 阅读 · 0 评论 -
七种常用设计模式----工厂模式(一)
比如,小明最近期末考试了,骑摩托车去学校考试,考完试之后,小明就准备去旅游,这次决定自驾游,开着自己家的小汽车去。小明家里有一个车库 GarageFactory,里面放着汽车 Car 和摩托车 Motorcycle,小明要出去的时候,就到车库选择车,通过传递参数给 GarageFactory.getVehicle(),指明要什么车,然后小明就骑着车出发了。小明老爸近几年赚了不少,车迷的两父子一直买车,家里的车越来越多,这时候,他们决定多建几个车库,按车类型放置。比如,有一个汽车库,一个摩托车库。转载 2023-02-16 21:11:41 · 106 阅读 · 0 评论 -
Java 24种设计模式
但是对于用户来说,我只是做了一个点击操作,希望得到的结果就是看条新闻啊,你这么多操作,搞这么慢,用户体验很差啊,而且并发量也很低,那不如做成两个小系统,A系统,拉取新闻,推送,并组装一个信息扔给MQ中间件,ok,结束,用户看到新闻。第二,很多中间件设计理念也是基于设计模式的,还有其他的语言,都有自己的设计最佳实践。这边要说两个概念,享元模式对象的属性可以分为两个部分,内部状态和外部状态,内部状态是指不会随环境而改变的值,比如说个人信息,外部状态是指随环境改变的值,不能进行共享的信息,如某大学生选修的课程。转载 2023-02-16 17:25:34 · 2581 阅读 · 0 评论 -
七种常用设计模式----代理模式(一)
代理模式有静态和动态两种方式,这篇文章的代理模式都是使用静态代理转载 2023-02-16 17:10:38 · 432 阅读 · 0 评论 -
设计模式----工厂模式
适合使用工厂模式,常用的工厂模式有:简单工厂模式:实例化过程复杂时,可以选用工厂方法模式:产品结构较复杂时,可以选用抽象工厂模式:产品种类结构多时,可以选用转载 2023-02-16 16:42:13 · 150 阅读 · 0 评论 -
七种常用设计模式----装饰器模式(二)
装饰器的最大作用就是在不修改原有类的基础上扩展已有的功能,它符合开闭原则,而且实现也比较灵活。转载 2023-02-16 16:38:22 · 409 阅读 · 0 评论