202106-11 Java设计模式之原型模式详解 一、前言原型模式是一种比较简单的模式,也非常容易理解,实现一个接口,重写一个方法即完成了原型模式。在实际应用中,原型模式很少单独出现。经常与其他模式混用,他的原型类Prototype也常用抽象类来替代。该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。在Java中,复制对象是通过clone()实现的,先创建一个原型类,通过实现Cloneable接口publicclassPrototypeimplementsCloneabl... 继续阅读 >
202106-11 Java设计模式之抽象工厂模式详解 一、什么是抽象工厂模式为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类,这称之为抽象工厂模式(AbstractFactory)。我们并不关心零件的具体实现,而是只关心接口(API)。我们仅使用该接口(API)将零件组装称为产品。二、示例程序 1、抽象的零件:Item类packagecom.as.module.abstractfactory;/***抽象的零件*@authorAndy*@date2021/4/2923:16*/publicabstractclassItem{prote... 继续阅读 >
202106-05 Java设计模式之责任链模式详解 一、前言各个部门协同合作完成一个任务,每个部门都有各自的职责,一个部门完成后,变回转交给下一个部门,直到所有部门都处理了,这个任务才完成。将请求与处理解耦。处理者只需要关注自己感兴趣的请求进行处理,对于不感兴趣的请求,直接转发给下一个节点对象。二、登录校验举例。1、校验用户名或密码是否为空。2、校验用户名是否存在。3、校验是否有权限。@DatapublicclassMember{privateStringloginName;private... 继续阅读 >
202106-05 Java设计模式之观察者模式(Observer模式) 一、观察者模式是什么?当对象间存在一对多关系时,则使用观察者模式(ObserverPattern)。当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。人话:就像微信公众号推送消息,订阅的人能收到,没订阅的收不到,还可以取消/添加订阅二、模式分析2.1四个角色抽象主题(抽象被观察者角色):也就是一个抽象主题,它把所有对观察者对象的引用保存在一个集合中,每个主题都可以有任意数量的观察者。抽象... 继续阅读 >
202106-05 Java设计模式之装饰模式详解 一、装饰模式引入例子一个快餐店计算价格问题举例:快餐店有炒面、炒饭这些快餐,可以额外附加鸡蛋、火腿、培根这些配菜,加配菜需要额外加钱,并且每个配菜的价钱不一样,计算快餐价格如何实现?1.1一般设计1.2使用继承方式的一般设计存在的问题横向扩展性不好:如果要再加一种配料(火腿肠),我们就会发现需要给FriedRice和FriedNoodles分别定义一个子类。如果要新增一个快餐品类(炒河粉)的话,就需要定义更多的子,会出现... 继续阅读 >
202105-28 Java设计模式之命令模式详解 命令模式定义:将请求封装成对象,这可以让你使用不同的请求、队列、或者日志来参数化其他对象。何时使用命令模式?当需要将发出请求的对象和执行请求的对象解耦的时候,使用命令模式。在被解耦的两者之间是通过命令对象进行沟通的。命令对象封装了接收者和一个或一组动作。调用者通过调用命令对象的execute()方法发出请求,这会使接收者的动作被调用。调用者可以接收命令当作参数,甚至在运行时动态地进行。优点:1、降低了系统耦... 继续阅读 >
202105-28 Java设计模式之单例模式简介 一、饿汉式(静态常量)publicclassFace{privatestaticfinalFaceinstance=newFace();staticFacegetInstance(){returninstance;}privateFace(){}}优点:这种写法比较简单,就是在类装载的时候就完成实例化。避免了线程同步问题。缺点:在类装载的时候就完成实例化,没有懒加载的效果。如果从始至终从未使用过这个实例,则会造成内存的浪费。二、... 继续阅读 >
202012-22 一文搞懂Java设计模式之责任链模式 简述: 前端时间再看一些类库的源码,发现责任链模式的强大之处,尤其是和建造者模式的结合后强大的动态可扩展性更是牛逼的一塌糊涂。接下来赶紧了解一下吧! 我们先来了解一下什么是责任链模式: 职责链模式(ChainofResponsibility):使多个对象都有机会处理同一个请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,... 继续阅读 >
202010-08 Java设计模式之23种设计模式详解 一、什么是设计模式设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应... 继续阅读 >
202009-25 JAVA中常用的设计模式:单例模式,工厂模式,观察者模式 1.单例模式每个类只能创建一个实例对象JavaSingleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于Java垃圾回收(garbagecollection)。好处:第一、控制资源的使用,通过线程同步来控制资源的并发访问;第二、控制实例产生的数量,达到节约资源的目的。第三、作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下... 继续阅读 >