Java设计模式
文章平均质量分 87
宜城一少
砥砺前行
展开
-
Java设计模式之适配器模式
适配器(Adapter)模式又叫做包装( Wrapper )模式,是一种结构型设计模式,Adapter模式的设计意图:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。...原创 2022-06-25 18:47:55 · 120121 阅读 · 0 评论 -
Java设计模式之组合模式
组合(Composite)模式是一种对象的行为模式。将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。原创 2022-06-24 14:13:02 · 518 阅读 · 0 评论 -
Java设计模式新解之模版方法模式
目录一、定义二、UML图三、Demo演示四、总结一、定义定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。二、UML图模板方法模式涉及到的角色:抽象模板角色:定义一组基本方法供子类实现,定义并实现组合了基本方法的模板方法。具体模板角色:实现抽象模板角色定义的基本方法。模板方法模式涉及到的方法的概念:基本方法 抽象方法:由抽象模板角色声明,abstract修饰,具体模板角色实...原创 2020-11-29 23:34:09 · 46 阅读 · 0 评论 -
Java设计模式新解之抽象工厂模式
目录一、定义二、UML图三、代码实现四、总结一、定义提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。二、UML图AbstractFactory :抽象工厂角色,它声明了一组用于创建一种产品的方法,每一个方法对应一种产品,如上图中的 AbstractFactory 中就定义了两个方法,分别创建产品 A 和产品 B 。 ConcreteFactory : 具体工厂角色,它实现了在抽象工厂中定义的创建产品的方法,生成一组具体产品,这些产品构成了..原创 2020-11-22 20:13:59 · 34 阅读 · 0 评论 -
Java设计模式新解之工厂方法模式
在讲解工厂方法模式之前,我们先来看一下简单工厂模式。一、概述定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此简单工厂模式又被称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。当我们需要创建各种不同对象,这些类称为具体产品类(ConcreteProduct),而将它们公共的代码进行抽象和提取后封装在一个抽象产品类或产品接口(Pr......原创 2020-11-15 00:14:08 · 27 阅读 · 0 评论 -
架构相关一两话
架构设计,业内有个法则叫好莱坞规则:Don't call me, I will call you.这里就不翻译了,用我们通俗一点的行话总结一下就是:架构调用应用程序,应用程序调用工具。这其实是经典的依赖倒置原则的体现。你品,你细品?...原创 2020-11-14 00:27:20 · 207 阅读 · 0 评论 -
Java设计模式新解之代理模式
一、介绍1.概念代理模式也称为委托模式,属于结构型设计模式之一。2.产生的原因在某些情况下,一个对象不适合或者不能直接引用另外一个对象,需要一个中间对象来进行间接的访问,这个中间对象就是代理对象。代理对象可以在客户端和目标对象之间起到中介的作用,比如我们日常生活中的邮局,快递公司,婚介所等等。3.使用的目的代理模式主要有两个目的:一是保护目标对象,二是增强目标对象。4.分类代理模式分为静态代理模式和动态代理模式。静态代理是由程序员创建或特定工具自动生成源代码,再对其编译。原创 2020-11-08 19:16:00 · 70 阅读 · 0 评论 -
Java设计模式新解之装饰模式
引言《Head First 设计模式》中是这么形容装饰者模式——“给爱用继承的人一个全新的设计眼界”,拒绝继承滥用,从装饰者模式开始。装饰者模式允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。模式动机一般有两种方式可以实现给一个类或对象增加行为: 继承机制,使用继承机制是给现有类添加功能的一种有效途径,通过继承一个...原创 2020-11-02 20:37:15 · 170 阅读 · 0 评论 -
Java设计模式新解之单例模式
一、定义单例是一种创建型设计模式,让你能够保证一个类只有一个实例,并提供一个访问该实例的全局节点。二、适用场景 1.需要频繁实例化然后销毁的对象。 2.创建对象时耗时过多或者耗资源过多,但又经常用到的对象。 3.有状态的工具类对象。 4.频繁访问数据库或文件的对象。经典使用场景: 1.资源共享的情况下,避免由于资源操作时导致的性能或损耗等。如日志文件、应用配置等。 2.控制资源的情况下,方便资源之间的相互通信。如线程池、数据库连接池......原创 2020-10-17 22:42:09 · 31 阅读 · 0 评论 -
Java设计模式新解之策略模式
在《JAVA与模式》一书中开头是这样描述策略(Strategy)模式的: 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式的结构这个模式涉及到三个角色: ● 环境(Context)角色:持有一个Strategy的引用。 ● 抽象策略(Strategy)角色:这是一个抽象角色,通常是一个接口或抽象类。此角色给出所有的具体策略类所需的接口。原创 2020-05-17 20:15:59 · 106 阅读 · 1 评论 -
Java设计模式新解之简单工厂模式
一、概述定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此简单工厂模式又被称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。当我们需要创建各种不同对象,这些类称为具体产品类(ConcreteProduct),而将它们公共的......原创 2019-07-21 14:03:08 · 87 阅读 · 1 评论