202110-29 java设计模式-单例模式实现方法详解 目录饿汉式静态变量静态代码块懒汉式线程不安全线程安全双重检查静态内部类总结单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例)。就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。就是类在内存中只能存在一个实例... 继续阅读 >
202110-29 java设计模式-组合模式详解 目录组合模式Demo代码:总结组合模式组合模式(CompositePattern)又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。主要解决:它在我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦... 继续阅读 >
202110-29 java设计模式--策略模式详解 目录策略模式Demo代码:总结策略模式策略模式(StrategyPattern)属于行为型模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。用算法族分别封装起来,实现同一个接口,让他们之间可以互相替换,让算法的变化独立于使用算法的客户。主要解决:在有多种算法相似的情况下,使用if…else所带来的复杂和难以维护。如何解决:将这些算法封装成一个一个的类,任意地替换。何时使用:一个系统有许多许... 继续阅读 >
202110-12 Java设计模式--代理模式 目录1、代码设计的代理模式2、计算机网络中的正向代理和反向代理总结1、代码设计的代理模式代理模式属于构建型模式(Proxy),提供了对目标对象的一种访问方式;即通过代理对象访问目标对象。这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法。主要思想: 由被代理对象... 继续阅读 >
202109-16 Java设计模式之浅谈模板方法模式 一.什么是模板方法设计模式从字面意义上理解,模板方法就是定义出来一套方法,作为模板,也就是基础。在这个基础上,我们可以进行加工,实现个性化的实现。比如:一日餐三.早餐,中餐,晚餐.每个人都要吃三餐,但每个人的三餐吃的可能都不一样.一日三餐定义了模板--早中晚,每个人的三餐就是模板的具体实现.1.1模板方法的用途将不变的行为从子类搬到超类,去除了子类中的重复代码。规范子类的结构1.2模板方法的定义定义一个... 继续阅读 >
202108-12 Java设计模式之初识行为型模式 目录一、行为型模式二、模板方法模式2.1例子2.2模板方法使用场景三、策略模式3.1例子3.2使用场景四、状态模式五、中介者模式六、观察者模式6.1使用场景一、行为型模式行为型模式关注点在于"如何运行对象/类";行为型模式用来描述程序在运行时复杂的流程控制;描述多个类或对象之间怎样互相协作共同完成单个对象都无法单独完成的任务,设计算法与对象间职责的分配;行为型模式分为类行为模式和对象行为模式,... 继续阅读 >
202108-10 Java设计模式之桥接模式的实现 桥接模式桥接模式是将抽象部分与它的实现部分分离,使他们都可以独立地变化。它是一种对象结构型模式,又称为柄体(HandleandBody)模式或接口(Interface)模式。上图一个类被三个类继承,使我们的程序扩展性,可维护性低,违反了单一职责原则。具体代码实现如下:1.创建品牌接口packagecom.jialidun.gof.birdge;//品牌publicinterfaceBrand{voidinfo();}2.创建计算机的抽象类packagecom.jialidun.gof.birdge;//抽象的电... 继续阅读 >
202108-10 java设计模式之浅谈适配器模式 目录一、结构型模式二、适配器模式三、什么是适配器模式?四、角色分析五、对象适配器有哪些优点六、类适配器缺点七、使用场景一、结构型模式结构型模式有什么好处?从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题二、适配器模式USB网线转换器三、什么是适配器模式?将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本接口不兼容而不能一起工作的那些类能够变得在一起工作!四、角色分析... 继续阅读 >
202108-06 Java设计模式常用的七大原则总结 目录一、设计模式常用的七大原则二、单一职责原则三、接口隔离原则四、依赖倒转原则五、里氏替换原则六、开闭原则七、迪米特法则八、合成复用原则一、设计模式常用的七大原则单一职责原则:一个类应该只负责一项职责接口隔离原则:客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上依赖倒转原则里氏替换原则开闭原则迪米特法则合成复用原则二、单一职责原则1.单一职责原则注意事项和细节降低类的... 继续阅读 >
202107-31 Java开发中为什么要使用单例模式详解 目录一、什么是单例模式?二、实战案例一:处理资源访问冲突三、实战案例二:表示全局唯一类一、什么是单例模式?单例设计模式(SingletonDesignPattern)理解起来非常简单。一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。二、实战案例一:处理资源访问冲突我们先来看第一个例子。在这个例子中,我们自定义实现了一个往文件中打印日志的Logger类。具体的代码... 继续阅读 >
202107-17 浅谈Java设计模式之原型模式知识总结 如何使用?1.首先定义一个User类,它必须实现了Cloneable接口,重写了clone()方法。publicclassUserimplementsCloneable{privateStringname;privateintage;privateBrotherbrother;@OverrideprotectedObjectclone()throwsCloneNotSupportedException{returnsuper.clone();}}2.Brother类publicclassBrother{privateStringname;}3.应用演示类publicclassPrototypeDemo{... 继续阅读 >
202107-01 详细总结Java组合模式 目录一、前言二、介绍三、实现一、前言组合模式,又叫部分整体模式,是用于把一组相似的对象,当做单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它提供了修改相同对象组的方式。二、介绍意图:将对象组合成树形结构以表示”部分-整体“的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。主要解决:它在我么的属性结构的问题中,模糊了简单元素和复... 继续阅读 >
202107-01 浅谈Java设计模式之七大设计原则 目录前言一、单一职责原则(SingleResponsibilityPrinciple,SRP)二、开闭原则(Open-ClosedPrinciple,OCP)三、里氏代换原则(LiskovSubstitutionPrinciple,LSP)四、依赖倒换原则(DependenceInversionPrinciple,DIP)五、接口隔离原则(InterfaceSegregationPrinciple,ISP)六、合成复用原则(CompositeReusePrinciple,CRP)七、迪米特法则(LawofDemeter,LoD)前言学习设计模式的方法:掌握理解七大原则以及其目的,学习相应的设计... 继续阅读 >
202106-28 Java设计模式之构建者模式知识总结 一、构建者模式1.1定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示1.2主要作用在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。用户只需要给出指定复杂对象的类型和内容;建造者模式负责按顺序创建复杂对象(把内部的建造过程和细节隐藏起来)1.3解决的问题方便用户创建复杂的对象(不需要知道实现过程)代码复用性&封装性(将对象构建过程和细节进行封装&复用)例子:... 继续阅读 >
202106-22 Java设计模式之桥梁(Bridge)模式 桥梁模式的结构桥梁模式是对象的结构模式。如上图所示,系统含有两个等级结构:由抽象化角色和修正抽象化角色组成的抽象化等级结构。由实现化角色和两个具体实现化角色所组成的实现化等级结构。桥梁模式所涉及的角色有:抽象化(Abstraction)角色:抽象化给出的定义,并保存一个对实现化对象的引用。修正抽象(RefinedAbstraction)化角色:扩展抽象化角色,改变和修正父类对抽象化的定义。实现化(Implementor)... 继续阅读 >
202106-19 Java设计模式之代理模式详解 一、代理模式代理模式就是有一个张三,别人都没有办法找到他,只有他的秘书可以找到他。那其他人想和张三交互,只能通过他的秘书来进行转达交互。这个秘书就是代理者,他代理张三。再看看另一个例子:卖房子卖房子的步骤:1.找买家2.谈价钱3.签合同4.和房产局签订一些乱七八糟转让协议一般卖家只在签合同的时候可能出面一下,其他的1,2,4都由中介去做。那你问这样有什么用呢?首先,一个中介可以代理多个卖房子的卖家,其次,我... 继续阅读 >