- 博客(11)
- 收藏
- 关注
原创 常用设计模式系列(九)—桥接模式
例如一个车的抽象方法,需要创建一个汽车对象,需要实现车的品牌、车的颜色、车的形状,但是当系统中增加电动车,同样需要实现品牌、颜色、形状,当车的种类越来越多,每个车型也会有相同的颜色或者品牌,但是每个实例都是独立完成自己的属性赋值,重复的属性赋值无法被复用,传统模式会显得臃肿,抽象模式可以将颜色、品牌等信息抽象化,每个车型生产线将原有抽象进行扩展抽象,来完成具体产品的制造。2. 将单个产品线不同维度的属性进行抽象,当其中一个维度的属性需要增加时,不需要改变原有代码,增加了扩展性。桥接模式优缺点及适用场景。
2022-10-24 17:52:38
166
原创 常用设计模式系列(八)—代理模式
我们可能听说过动态代理、反向代理等等名词,代理这个字面的含义就是,当你无法去直接去做一件事情或者没有途径去做一件事情的时候,需要一个代理的角色来帮我们完成某一件事情,例如我们大学毕业后,选择去民营企业上班的同学,都会去办理档案代理保存,这时候找的就是人事代理,我们没有权限保留自己的档案,交给人事代理帮我们保存,这个模式就是代理模式给我们带来的方便。提供一个统一的代理类完成系统中所有需要代理的请求,动态的去执行真实主题的代理模式,称为动态代理,Spring AOP的核心就是动态代理。查阅API使用方法。
2022-10-24 17:51:49
378
原创 常用设计模式系列(七)—适配器模式
一个朋友前几年一直在使用3.5mm的圆孔插口耳机,自己手机电脑均使用是3.5mm的插口,有一天这位朋友的手机坏了,买了个新的手机,发现新的手机已经是TypeC接口,目前的3.5mm耳机已经不能用了,但是自己的电脑还是3.5mm的耳机,又不想重新买一条,所以这个时候需要进行适配。那这个场景下,目标接口就是TypeC接口,是配置类就是原有的3.5mm接口,当3.5mm+TypeC转换器的时候,这条耳机就是适配器类,既不影响之前功能、又支持新的接口,它完成了适配器要完成的任务。
2022-10-24 17:51:00
301
原创 常用设计模式系列(六)—单例模式
吃饱喝足之后,活还是要干的,所以今天继续开始我们的设计模式,今天讲解设计模式之“单例模式”,单例模式算的上是在整个设计模式体系中最为简单的模式,它依然属于创建型分类的对象模式。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。在使用电脑操作excel文件时,如果别的程序已经打开了这个excel文件,系统会提示这个文件就已经被其它程序占用,从而不能够操作这个文件,创建出来的这个文件就是全局唯一的,如果别人想使用,那么需要我操作完毕之后,下一个人才能使用。4.线程间相互通信时。
2022-10-24 17:49:56
149
原创 常用设计模式系列(五)—原型模式
各位朋友大家好,经过几天的努力,我已经讲解了常用设计模式其中的四种,分别是简单工厂、工厂方法、抽象工厂、建造者模式,正在想着下一遍写哪个模式的时候,有个朋友先说他想先看看原型模式,说想看看原型模式是如何运行的,然后我给这个朋友讲了个故事:“从前有个老铁得了个病,听说还挺严重的,后来经过询问,他得的是没毛病,加起来就是老铁!老铁),然后他拿着这个要是找到了配钥匙的大爷,大爷拿着原有的钥匙,给配了一把一模一样的钥匙,这个配置的方式,也叫克隆,两个本体极为相似,但又不是一个本体,这个模式就叫做原型模式。
2022-10-24 17:48:39
311
原创 常用设计模式系列(四)—建造者模式
一个大老板,使用自己继承的亿万遗产,开了一个汽车4S店,想要购买进购一批汽车,他通过朋友找到汽车厂商的大领导,说自己的需要500台车(具体产品),这个领导直接接待了这个大客户,说他亲自负责,然后这个领导(指挥者)把所有的产品线负责人拉过来说,说一个大客户需要500台车,需要在一个月内完成量产,每个流水线负责零件的生产。——《陋室铭》刘禹锡。1.使用建造者模式,客户可以不用关心产品内部的组成细节,将产品本身与产品的创建解耦,使得相同的创建过程可以创建不同的产品对象(使用多个具体产品建造者即可)。
2022-10-24 17:47:17
196
原创 设计模式系列(三)—抽象工厂模式
开始我们今天的模式讲解,前期我分别讲解了简单工厂模式和工厂方法模式,工厂方法模式对比简单工厂模式,是在原有基础上进行了升级,将负责每个产品的工厂进行拆分,每个工厂生产自己的产品,此时的工厂类是只能生产自己的产品的。由于隔离,当需要更换工厂时,只需要选择实现了抽象工厂并实现了定义的抽象方法的具体工厂即可,可以通过改变工厂的方式改变软线系统的行为。抽象工厂模式:抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级(一个系列内)的产品。每个产品由多个产品工厂提供。
2022-10-24 17:45:32
244
原创 常用设计模式系列(二)—工厂方法模式
可以理解为简单工厂模式的升级,简单工厂模式中工厂负责生产所有产品相比,工厂方法模式将生成具体产品的任务分发给具体的产品工厂,简可以理解为,如果在简单工厂模式中,扩增具体产品信息,需要对原有工厂进行改造,当需求的产品类别增加到一定程度时,工厂较负责的产品线也相对复杂,当出现问题时,所有的产品的生产将会中断;文中将一个生产多种类别(具体产品)的工厂,容易造成工厂压力较大,将具体的产品生产工作改为每个工厂去做,此时客户只需要要产品,中间的产品整合商对接多个工厂的方式使用的思维就是工厂方法模式。
2022-10-24 17:43:44
153
原创 常用设计模式系列(一)—简单工厂模式
然后提供一个工厂类用于创建各种产品,在工厂类中提供一个创建产品的工厂方法,该方法可以根据传入的参数不同创建不同的具体产品对象;“工厂”二字,顾名思义工厂就是可以模式化生产某种特殊类型的产品的地方,例如一个鞋厂,客户要求生产的是运动鞋还是休闲鞋还是皮鞋,工厂根据要求生产出具体的鞋子的产品,但是不管是哪种鞋子,它的种类都属于“鞋子”,客户提出的要求就是“参数不同”,返回不同的实例就是厂子生产后交付的产品不同,被创建的实例通常有共同的父类就更好理解了,就是无论是什么鞋子,它的分类都是“鞋子”;
2022-10-24 17:39:54
292
原创 什么是设计模式?详解设计模式概念及几大原则!
聚合(Aggregation)关系是关联关系的一种,是强关联关系,是整体和部分之间的关系,是 has-a 的关系;今天我们来讲讲设计模式,在我们学习Java的时候,时常听到单例模式,多例模式,还有使用Spring的时候,默认采用的单例模式,你所听到的“饱汉式”、“饿汉式”,都是对设计模式的形容。设计模式并非是一种技术,而是在项目迭代的过程中,为了实现一些功能,设计了一些解决方案,将这些经验进行总结出来的一个模式体系,这个体系是在被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。
2022-10-24 17:33:32
840
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1