
java设计模式
文章平均质量分 50
jbrrgbxf-
jbrrgbxf-
展开
-
设计模式-过滤器模式
????定义 所谓的过滤器,就是指开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。 ????例子 源自 https://www.runoob.com/design-pattern/filter-pattern.html ????以人员这个类举例,属性有名称、性别、婚姻状态。 public class Person { private String name; private String gender; private String maritalSt原创 2021-01-14 16:00:53 · 128 阅读 · 0 评论 -
设计模式-观察者模式
????定义 观察者模式是指当一个对象改变时,通知所有对其依赖的对象。 ????例子 源自: https://www.runoob.com/design-pattern/observer-pattern.html ????观察者的父类 public abstract class Observer { protected Subject subject; public abstract void update(); } ????二进制的观察者的实体类 public class Binar原创 2021-01-14 15:04:10 · 114 阅读 · 0 评论 -
设计模式-责任链模式
????定义 责任链模式,为请求者创建一个链式的接收者,根据不同的请求判断哪个接收者来接收,这样子可以对请求者和接收者进行解耦。类似于红楼梦中的击鼓传花。 ????例子 源自(https://www.runoob.com/design-pattern/chain-of-responsibility-pattern.html) ????这是日志的父类,设置日志的级别,通过logMessage方法来判断级别,比本级别大才去打印,每次都会从头到尾传递给每一个接收者。 public abstract class A原创 2021-01-14 10:30:41 · 82 阅读 · 0 评论 -
设计模式-组合模式
????定义 将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 ????例子 源自(https://www.runoob.com/design-pattern/composite-pattern.html) ????定义一个员工类,有一个下属员工的列表,类型同样是员工类。 public class Employee { private String name; private String dept; private int sal原创 2021-01-14 09:25:10 · 80 阅读 · 0 评论 -
设计模式-桥接模式
????定义 桥接模式即将抽象部分与它的实现部分分离开来,使他们都可以独立变化。 个人理解:两个独立的维度,可以用桥接模式来实现解耦。 ????例子 源自(https://www.runoob.com/w3cnote/bridge-pattern2.html 他们的栗子有个小错误=.=) 维度1:形状(矩形、正方形、圆形。。。) 维度2:颜色(白色、黑色、灰色。。。) ????首先定义一个形状的抽象类,让颜色作为一个它的属性。 public abstract class Shape { Color原创 2021-01-13 15:57:32 · 187 阅读 · 2 评论 -
设计模式-适配器模式
适配器模式(Adapter),是作为两个不同接口的桥梁。 例子 源自https://www.runoob.com/design-pattern/adapter-pattern.html MediaPlayer 接口的实现类AudioPlayer。默认情况下,AudioPlayer 可以播放 mp3 格式的音频文件。 AdvancedMediaPlayer 接口的实现类VlcPlayer 和 Mp4Player 可以播放 vlc 和 mp4 格式的文件。 我们的需求是:让AudioPlayer播放其他格式的原创 2020-12-30 10:19:23 · 409 阅读 · 0 评论 -
设计模式-原型模式
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 实质上是利用实现Cloneable接口的 clone方法来实现对象的克隆。 public class Prototype implements Cloneable{ public Prototype(){} public Object clone() throws CloneNotSupportedException {原创 2020-12-29 15:34:56 · 77 阅读 · 0 评论 -
设计模式-建造者模式
个人理解:建造者模式就是为了建造一些复杂的类,他们是通过一些基础类而组成的,使用者可以无感地创建复杂的对象。 比如说:我们假设一个快餐店的商业案例,其中,一个典型的套餐可以是一个汉堡(Burger)和一杯冷饮(Cold drink)。汉堡(Burger)可以是素食汉堡(Veg Burger)或鸡肉汉堡(Chicken Burger),它们是包在纸盒中。冷饮(Cold drink)可以是可口可乐(coke)或百事可乐(pepsi),它们是装在瓶子中。 亦或:很多装修公司都会给出⾃家的套餐服务,⼀般有;欧式豪原创 2020-12-29 11:06:36 · 337 阅读 · 4 评论 -
设计模式-单例模式
懒汉模式(线程不安全) public class Singleton01 { public String value; private static Singleton01 instance; private Singleton01(String value){ try{ Thread.sleep(1000); } catch (InterruptedException e) { e.printSta.原创 2020-12-28 18:09:36 · 145 阅读 · 1 评论