如何理解Java知识点中的常见设计模式
发布时间:2023-04-21 15:35:13 所属栏目:教程 来源:
导读:这期内容当中小编将会给大家带来有关如何理解Java知识点中的常见设计模式,本篇文章内容丰富且以相对专业的角度为大家客观公正的分析和叙述,阅读完这篇文章希望大家可以有所收获。
一. 观察者模式
观察者模式
一. 观察者模式
观察者模式
|
这期内容当中小编将会给大家带来有关如何理解Java知识点中的常见设计模式,本篇文章内容丰富且以相对专业的角度为大家客观公正的分析和叙述,阅读完这篇文章希望大家可以有所收获。 一. 观察者模式 观察者模式用一句话描述就是当一个类的对象(观察者)的状态发生改变时同时其他依赖于它的对象(观察者)的状态也做相应的改变(做相应的动作)。 二. 适配器模式 作为两个不兼容的接口之间的桥梁,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。 注意,要点是要在原来的基础上使原本不兼容的功能变得兼容。 Adapter类一般是用来实现与原有类不兼容的功能,比如demo中的MediaAdapter实现了MediaPlayer没有的特殊功能,用户只要调用AudioPlayer中的play方法,AudioPlayer会自动根据音频的类型选择不同的play方式,当音频类型不符合传统player的能力时AudioPlayer会使用adapter去调用之前不兼容的方法(功能),这样就实现了所谓的适配。 三. 代理模式 具体实现其实也很简单,就是一个代理类将别代理类包裹起来,只对外界暴露调用被代理类方法的方法,从而实现代理模式,需要特别注意的是代理模式和适配器模式的区别: 适配器模式主要改变所考虑对象的接口,而代理模式不能改变所代理类的接口 ,和装饰器模式的区别: 装饰器模式为了增强功能,而所谓的代理模式实际上是为了更好的加以控制 。 四. 工厂方法模式 工厂方法模式其实就是当一个类的实例化依赖于不同场景时需要使用的,比如上面demo,根据不同的形状,实例化的Shape对象内部的实现逻辑不一样,这时候就可以使用工厂方法模式,将内部的实现细节隐藏起来,用户只需要告诉工厂类自己需要什么情况下的产品,工厂就可以自动调用自己内部对应场景的代码从而返回一个用户需要的“产品”。 五. 抽象工厂模式 对比工厂方法模式,因为一个工厂只能生产一个产品,比如一个ShapeFactory只能根据不同情况实例化不同的Shape,那么当我们需要一整套的产品(比如形状和颜色形成了一套产品)时使用工厂方法显然就不能解决了,所以就需要抽象工厂模式,抽象工厂模式实际上是工厂的工厂,即其作用的目的是为了实例化不同的工厂,这样用户再通过各种不同的工厂生产线的实例化开发出不同场景下相对应的成套的产品。 六. 命令模式 命令模式实质上就是将命令抽象到一个具体的类中,即这个类是专门去执行某个命令的,比如demo中,SellStock就是专门执行sell这个命令的,当用户需要sell的时候只要实例化SellStock然后excute就可以完成sell,还有一个比较常用的例子是GUI开发中按钮(button)的作用,每一个按钮都是一个对象,当用户点击某个按钮后就会触发一个相应的命令,用户看到的是点击按钮产生的效果,而代码层面上是实例化的按钮对象执行类似于demo中的excute方法完成自己的“命令”。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
