java设计模式
文章平均质量分 57
苏州-DaniR
从事java软件开发
展开
-
UML类图-六种关系详解
UML基本介绍UML——Unified modeling language UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果UML本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等,如右图:使用UML来建模,常用的工具有 RationalRose , 也可以使用一些插件来建模关系详解类图—依赖关系(Dependence)依赖关系是最简原创 2020-05-18 20:28:51 · 1147 阅读 · 0 评论 -
java设计模式-工厂模式
工厂模式工厂模式大致分为三种,分别是简单工厂模式、工厂方法模式和抽象工厂模式,是开发过程中使用最多的一种模式。简单工厂模式简单工厂模式一句话解释就是创建一个工厂对象来决定创建哪一种产品对象出来。用工厂类封装了实例化对象的行为。具体的实例如下:基础对象类/** * 抽象类 设计 */public abstract class Pizza { protected String name; //准备原材料。不同的披萨不一样,因此,我们做成抽象方法 public abstrac原创 2020-05-19 14:30:55 · 111 阅读 · 0 评论 -
一文详解java的单例模式
单例模式单例模式:就是采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)单例模式有八种方式实现,本文只介绍集中特殊的常用的:饿汉式饿汉式有两种实现方式,分别是静态变量和静态代码块的方式,其大致是一样的。在真是的开发过程中不是特别推荐使用。实例如下://饿汉式(静态变量)class Singleton{ //1、构造器私有化,外部无法引用 private Singleton(){ } //2、原创 2020-05-19 14:08:31 · 102 阅读 · 0 评论 -
java设计模式 -观察者模式
观察者模式介绍说明观察者模式是对象之间多对一依赖的一种设计方案,被依赖的对象成为Subject,依赖的对象为Observer,当Subject发生变化的时候可以通知到Observer。类图说明以天气预报为示例类图如下:Weather为核心类,实现了Subject里面的方法Subject有变化的时候,Observer会直接接收到通知示例说明/** * 订阅接口 */public interface Subject { public void registerObserver(原创 2020-05-29 16:00:40 · 167 阅读 · 0 评论 -
java设计模式-组合模式
java设计模式-组合模式基本介绍组合模式也叫整体部分模式,他创建了对象组的树形结构,将对象组合成树状结构来表示整体-结构之间的关系。原理类图解释说明:1、Component:组合对象的顶层接口,实现所有类共用的接口默认方法,用于管理Component的子部件,Component可以使抽象类也可以是接口。2、Leaf:最下层的类,没有子节点3、Composite:中间层类,用于存储子部件。案例分享顶层接口类public abstract class OrganizationCompon原创 2020-05-28 16:20:10 · 182 阅读 · 0 评论 -
java设计模式原则(下)
开闭原则基本介绍开闭原则(Open Closed Principle)是编程中最基础、最重要的设计原则一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。编程中遵循其它原则,以及使用设计模式的目的就是遵循开闭原则。实例介绍与分析public class Ocp { public static void main(String[]原创 2020-05-23 15:33:41 · 197 阅读 · 0 评论 -
java 设计模式原则(中)
java 设计模式原则(中)依赖倒转原则依赖倒转原则(Dependence Inversion Principle)是指:高层模块不应该依赖低层模块,二者都应该依赖其抽象抽象不应该依赖细节,细节应该依赖抽象依赖倒转(倒置)的中心思想是面向接口编程依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。在java中,抽象指的是接口或抽象类,细节就是具体的实现类使用接口或抽象类的目的是制定好规范,而不涉及任何具体的操作,把原创 2020-05-23 14:53:52 · 154 阅读 · 0 评论 -
java设计模型原则(上)
java设计模型原则设计模式原则,其实就是程序员在编程时,应当遵守的原则,也是各种设计模式的基础(即:设计模式为什么这样设计的依据)。设计模式常用的七大原则有:单一职责原则接口隔离原则依赖倒转(倒置)原则里氏替换原则开闭原则迪米特法则合成复用原则单一职责原则在java开发过程中,我们经常看到最顶层的类一般都是接口,接口按照职责进行分类,每个接口只负责一个职责,而具体的实现都在下层的实现类中。遵循的就是单一职责原则。实例如下:public class SingleResponsi原创 2020-05-23 14:35:08 · 160 阅读 · 0 评论 -
java设计模式 - 装饰者模式
原理介绍装饰者模式就像打包一个快递,动态的将新工鞥附加到对象上。在对象功能扩展方面,比继承更加的有弹性。原理图与解释如下:实例分析:抽象类public abstract class Drink { public String des; //描述 private float price = 0.0f; public String getDes() { return des; } public void setDes(Stri原创 2020-05-22 15:06:14 · 114 阅读 · 0 评论 -
java设计模式-外观模式
外观模式外观模式是java设计模式中比较简单的一种设计模式,外观模式(Facade) ,也叫“过程模式:外观模式为子系统中的一组接口提供一个 致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。另外,外观模式通过定义一个一致的接口,用以屏蔽内部子系统的细节,使得调用端只需跟这个接口发生调用,而无需关心这个子系统的内部细节。实例如下:/** * 外观类定义 */public class HomeTheaterFacade { private TheaterLight th原创 2020-05-21 14:00:51 · 115 阅读 · 0 评论 -
java设计模式 -桥接模式
桥接模式基本介绍桥接模式的核心思路是:将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变。桥接模式是基于类的最小设计原则,通过使用封装、聚合及继承等行为让不同的类承担不同的职责。他的特点是把抽象与行为实现分离开来,从而可以保持各部分独立性。保证了代码的扩展性。桥接模式的原理图Client:模式的调用者抽象类(Abstraction):维护了Implementor/即它的实现类ConcreteImplementorA,二者市局和关系,Abstraction从当桥接类RefinedAb原创 2020-05-21 13:51:19 · 135 阅读 · 0 评论 -
java设计模式-适配器模式
适配器模式基本介绍适配器模式将某个类的接口转换成客户端期望的另一个借口标识,主要的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。适配器模式分为三种类型:类适配器模式,对象适配器模式,接口适配器模式工作原理将一个类的接口转换成另一种接口,让原本接口不兼容的类可以兼容解耦用户与被适配者的关系用户调用适配器转换出来的目标借口,适配器在调用被适配者的相关接口方法类适配器模式被适配者类public class Voltage220 { int src = 220;原创 2020-05-21 13:29:01 · 151 阅读 · 1 评论 -
java设计模式-建造者模式
建造者模式任何的设计模式的初衷都是简化代码,易于扩展。建造者模式也不例外,建造者模式在类的相同点较多的情况下使用有奇效。建造者模式也叫生成器模式。他可以将复杂对象的构建过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同的对象。简单来说就是:抽象出对象类的具体方法为一个抽象类(一般不用接口)不同的构造者够继承这个类(根据自己的需求重写编写类的实现方法)在构建一个总体的指挥者,来执行构建对象的具体步骤(方法)对外只暴露出指挥者的角色和想要构建对象的角色即可下图可以参考理解,不原创 2020-05-20 14:22:59 · 136 阅读 · 0 评论 -
java设计模式-原型模式
基本介绍用原型对象实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象。简单来说就是通过clone的方式创建新的对象。在开发过程中当两个对象的属性大致相同的时候,不在需要使用new来创建新的对象。实现方式:实现Cloneable接口重写clone方法注意:clone只对实现了Cloneable接口的类有效实例如下:/** * 实现clone 的接口 */public class Sheep implements Cloneable{ private String原创 2020-05-20 13:55:52 · 87 阅读 · 0 评论