设计模式
java后端指南
公众号:java后端指南
展开
-
过滤器模式
public class Person { /** * 名字 */ private String name; /** * 性别 */ private String sex; /** * 婚姻状态 */ private String maritalStatus; public Person(String name, String sex, String maritalStatus) {原创 2020-11-02 09:28:09 · 137 阅读 · 0 评论 -
桥接模式
参考:https://www.cnblogs.com/WindSun/p/10260547.html 现需要提供大中小3种型号的画笔,能够绘制5种不同颜色,如果使用蜡笔,我们需要准备3*5=15支蜡笔,也就是说必须准备15个具体的蜡笔类。而如果使用毛笔的话,只需要3种型号的毛笔,外加5个颜料盒,用3+5=8个类就可以实现15支蜡笔的功能。本实例使用桥接模式来模拟毛笔的使用过程。 Pen.java: /** * 抽象类 */ public abstract class Pen { prote原创 2020-10-30 11:04:57 · 288 阅读 · 0 评论 -
适配器模式
创建接口,音频媒体播放器,只能播放mp3文件 /** * 音频媒体播放器,只能播放mp3文件 */ public interface MediaPlayer { public void play(String audioType,String fileName); } 高级音频播放器接口,可以播放多种格式 /** * 高级音频媒体播放器,可以播放mp3,mp4,vlc等其他音频文件 */ public interface AdvancedMediaPlayer { public v原创 2020-10-29 10:33:08 · 92 阅读 · 0 评论 -
原型模式
现在电子账单越来越流行了,比如你的信用卡,到月初的时候银行就会发一份电子邮件到你邮箱中, 说你这个月消费了多少,什么时候消费的,积分是多少等等,这个是每个月发一次,但是还有一种也是银 行发的邮件你肯定有印象:广告信,现在各大银行的信用卡部门都在拉拢客户,电子邮件是一种廉价、快 捷的通讯方式,你用纸质的广告信那个费用多高呀,比如我今天推出一个信用卡刷卡抽奖活动,通过电子 账单系统可以一个晚上发送给 600 万客户,为什么要用电子账单系统呢?直接找个发垃圾邮件不就解决问 题了吗?是个好主意,但是这个方案在金融.原创 2020-10-26 09:56:08 · 141 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。 我们将创建 Shape 和 Color 接口和实现这些接口的实体类。下一步是创建抽象工厂类 AbstractFactory。接着定义工厂类 ShapeFactory 和 ColorFact.原创 2020-10-23 16:42:28 · 111 阅读 · 0 评论 -
工厂模式
参考:https://www.runoob.com/design-pattern/factory-pattern.html 比如我们想要一个形状,那么我们需要定义一个形状接口 /** * 形状接口 */ public interface Shape { void draw(); } 然后定义各种形状的实现类 /** * 正方形 */ public class Square implements Shape { @Override public void draw() {原创 2020-10-23 15:44:27 · 94 阅读 · 0 评论 -
多例模式
土木堡之变中被瓦刺俘 虏的皇帝,被俘虏后,他弟弟朱祁钰当上了皇帝,就是明景帝,估计当上皇帝后乐疯了,忘 记把老哥朱祁镇削为上皇了,我Shit,在中国的历史上就这个时期是有2个皇帝,你说这 期间的大臣多郁闷,两个皇帝耶,两个精神依附对象呀。 ...原创 2020-10-19 09:41:30 · 260 阅读 · 0 评论 -
单例模式
文章目录饿汉式懒汉式 饿汉式 /** * 饿汉模式 */ public class MyObject { //私有构造函数 private MyObject(){} //立即加载方式==饿汉模式 private static MyObject myObject=new MyObject(); public static MyObject getInstance(){ // 此代码版本为立即加载 // 此版本代码的缺点是不能有其它实原创 2020-09-25 08:40:28 · 132 阅读 · 0 评论 -
策略模式
刘备要到江东娶老婆了,走之前诸葛亮给赵云(伴郎)三个锦囊妙计,说是按天机拆开解决棘手问题, 嘿,还别说,真是解决了大问题,搞到后是周瑜陪了夫人又折兵呀,那咱们先看看这个场景是什么样子 的。 先说这个场景中的要素:三个妙计,一个锦囊,一个赵云,妙计是小亮同志给的,妙计是放置在锦囊 里,俗称就是锦囊妙计嘛,那赵云就是一个干活的人,从锦囊中取出妙计,执行,然后获胜,用 JAVA 程序 怎么表现这个呢 优点:体现了高内聚低耦合的特性呀,缺点嘛,这个那个,我回去再查查 /** * 首先定一个策略接口,这是.原创 2020-08-01 15:16:35 · 158 阅读 · 0 评论 -
代理模式
文章目录静态代理:动态代理:利用java的Proxy以及InvocationHandler接口。经典的动态实现,必须要实现接口spring:cglib,无需实现接口 静态代理: 针对指定的类专门”写一个代理类。 public interface UserLogin { //用户登录 void login(String username,String password); //用户注销 void logout(String username); } //接口的实现类 public class Use原创 2020-06-07 16:06:25 · 171 阅读 · 0 评论