Java设计模式
文章平均质量分 70
hzx99
这个作者很懒,什么都没留下…
展开
-
Java设计模式——索引篇
Java设计模式——索引篇Java设计模式面向对象设计原则Java设计模式面向对象设计原则原创 2021-01-10 22:31:30 · 108 阅读 · 0 评论 -
Java设计模式——原型模式
Java设计模式——原型模式原型模式定义结构分类浅克隆深克隆类图原型模式的实现通过实现方法Java语言中的clone()方法和Cloneable接口Java语言中的clone()方法满足以下几点:直接利用Object类的clone()方法的具体步骤优点缺点适用环境原型模式定义使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象。结构Prototype(抽象原型类):它是声明克隆方法的接口,是所有具体原型类的公共父类。ConcretePrototype(具体原型类):它实现在抽象原原创 2021-01-09 22:06:51 · 186 阅读 · 1 评论 -
Java设计模式——观察者模式
Java设计模式——观察者模式观察者模式定义结构类图实现过程优点缺点一些理解观察者模式定义定义对象之间的一种一对多的依赖关系,使得每当一个对象状态发生改变时其相关依赖对象皆得到通知并被自动更新。结构Subject(目标):目标又称为主题,它是指被观察的对象。ConcreteSubject(具体目标):具体目标是目标类的子类,它通常包含有经常发生改变的数据。Observer(观察者):观察者将对观察目标的改变作出反应。ConcreteObserver(具体观察者):在具体观察者中维护一个指向具原创 2021-01-09 20:00:47 · 89 阅读 · 0 评论 -
Java设计模式——外观模式
Java设计模式——外观模式外观模式定义结构类图实现过程抽象外观类类图实现过程优点缺点适用环境外观模式定义为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层结构,这个接口使得这一子系统更加容易使用。结构Facade(外观角色):在客户端可以调用它的方法,在外观角色中可以知道相关的子系统的功能和责任。正常情况下,他将所有从客户端发来的请求委派给相应的子系统,传递给相应的子系统对象处理。SubSystem(子系统角色):在软件系统中可以有一个或者多个子系统角色。每一个子系统可以不是一个单原创 2021-01-09 19:11:09 · 141 阅读 · 0 评论 -
Java设计模式——工厂方法模式
Java设计模式——工厂方法模式工厂方法模式定义结构类图实现过程优点缺点适用环境工厂方法模式定义定义一个用于创建对象的接口,但是让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。结构Product(抽象产品):它是定义产品的接口,是工作方法所创建对象的超类型。ConcreteProduct(具体产品):它实现了抽象产品接口,某种类型的具体产品由专门的具体工厂创建。Factory(抽象工厂):在抽象工厂中声明了工厂方法,用于返回一个产品。ConcreteFactory(具体原创 2021-01-08 22:23:02 · 86 阅读 · 0 评论 -
Java设计模式——组合模式
Java设计模式——组合模式组合模式定义结构透明组合模式类图实现过程缺点安全组合模式类图实现过程优点缺点适用环境总结组合模式定义组合多个对象形成树形结构以表示具有部分-整体关系的层次结构。组合模式让客户端可以统一对待单个对象和组合对象。结构Component(抽象构件):它可以是接口或者是抽象类,为叶子构件和容器构件对象声明接口,在该角色中可以包含所有子类共有行为的声明和实现。在抽象构件中定义了访问及管理它的子控件的方法。Leaf(叶子构件):它在组合结构中表示叶子结点对象,叶子结点没有子结点,原创 2021-01-06 13:06:32 · 170 阅读 · 0 评论 -
Java设计模式——策略模式
Java设计模式——策略模式策略模式定义结构类图实现过程优点缺点适用环境一些理解策略模式定义定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法可以独立于使用它的客户而变化。结构Context(环境类):环境类是使用算法的角色,它在使用解决的某个问题(即实现某个功能)时可以采用多种策略。Strategy(抽象策略类):抽象策略类为所支持的算法声明了抽象方法,是所有策略类的父类。ConcreteStrategy(具体策略类):具体策略类实现了在抽象策略类中声明的算法,在运行原创 2021-01-05 22:29:13 · 109 阅读 · 0 评论 -
Java设计模式——UML类图
UML类图UML类图类与类的UML表示关联关系UML类图类与类的UML表示类:类封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。在系统中每个类都有一定的职责,职责是指类要完成什么样的功能,要承担什么样的义务。一个类可以有多种职责,设计得好的类通常有且仅有一种职责(单一职责原则)。在定义类的时候将类的职责分解成为类的属性和操作(即方法)。类的属性即类的数据职责,类的操作即类的行为职责。设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分。在软件系统原创 2021-01-02 22:13:09 · 396 阅读 · 0 评论 -
Java设计模式——代理模式
代理模式代理模式定义结构类图实现过程代理模式定义给某一个对象提供一个代理或者占位符,并由代理对象来控制对原对象的访问。结构**Subject(抽象主题角色):**它声明了真实主题和代理主题的共同接口(保证它们一些东西是一样的),这样一来任何使用真实主题的地方都可以使用代理主题,客户端通常需要针对抽象主题角色进行编程(如果针对子类,则将来扩展不便)。**Proxy(代理主题角色):**它包含了对真实主题的引用,从而可以在任何时候操作真实主题对象;在代理主题角色中提供了一个与真实主题角色相同的接口,原创 2020-12-31 16:17:06 · 190 阅读 · 0 评论 -
Java设计模式——桥接模式
桥接模式桥接模式定义结构类图实现过程优点缺点适用环境一些理解桥接模式水平有限,欢迎交流,共同进步!定义将抽象部分与它的实现部分解耦,使得两者都能够独立变化。结构Abstraction(抽象类)用于定义抽象类的接口,通常是抽象类而不是接口,定义了一个Implementor(实现类接口)类型的对象并可以维护该对象,它与Implementor之间具有关联关系,它既可以包含抽象业务方法,也可以包含具体业务方法。(共有的方法可以实现为具体方法)。RefinedAbstraction(扩充抽象类)它扩原创 2020-12-30 22:42:21 · 219 阅读 · 1 评论 -
Java设计模式——简单工厂模式
简单工厂模式简单工厂模式定义结构类图实现过程优点缺点适用环境简单工厂模式定义定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。结构Factory(工厂角色)工厂类,负责创建所有产品实例的内部逻辑;可以被外界直接调用,创建所需的产品对象;在工厂类中提供了静态的工厂方法factoryMethod,返回值是抽象产品类型ProductProduct(抽象产品角色)是工厂类创建的所有对象的父类,封装了各种产品对象的公有方法,提高了系统的灵活性,使得在工厂类中只需定原创 2020-12-30 17:43:27 · 91 阅读 · 0 评论 -
Java设计模式——面向对象设计原则
Java设计模式面向对象设计原则面向对象设计原则概述七个常用的面向对象设计原则单一职责原则开闭原则里氏代换原则依赖倒转原则接口隔离原则合成复用原则迪米特法则开闭原则是目标,里氏代换原则是基础,依赖倒转原则是手段。面向对象设计原则面向对象设计原则概述软件的可维护性(Maintainability)和可复用性(Reusability)是两个非常重要的用于衡量软件质量的属性,软件的可维护性是指软件能够被理解、改正、适应和扩展的难易程度,软件的可复用性是指软件能够被重复使用的难易程度。七个常用的面向对象设计原创 2020-12-30 16:57:01 · 85 阅读 · 0 评论 -
Java设计模式—单例模式
Java设计模式单例模式单例模式的定义单例模式的作用单例模式结构单例模式分类懒汉式单例类饿汉式单例类仅为记录,仅供参考单例模式单例模式的定义确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一实例。单例模式的作用有些类只需要被实例化一次。例如任务管理器窗口,只能有一个状态,如果实例化多个。如果都一样,就是浪费内存,如果不一样,就违反了它的设计要求,同时存在多个状态。单例模式结构单例模式分类懒汉式单例类饿汉式单例类...原创 2020-12-16 20:22:50 · 89 阅读 · 0 评论 -
Java设计模式—适配器模式
Java设计模式适配器模式对象器模式结构适配器分类类适配器对象适配器适配器模式对象器模式结构Target(目标抽象类)目标抽象类定义客户所需要的接口,可以是一个抽象类或者接口,也可以是具体类。Adapter(适配器类)可以调用另一个接口,作为一个转换器Adapter(适配者类)定义了一个已经存在的接口,这个接口需要适配,一般是具体类,包含了客户希望使用的方法为什么要学这个模式?因为比如你想用一个方法,但是你里面已经定义了接口,而且你没法直接把代码拿过来改。所以你可能会想到,继承,继承了它你就原创 2020-12-10 16:55:30 · 96 阅读 · 0 评论 -
Java设计模式——抽象工厂模式
Java设计模式——抽象工厂模式抽象工厂模式定义结构类图实现过程优点缺点适用环境抽象工厂模式定义提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。结构AbstractFactory(抽象工厂):它声明了一种用于创建一族产品的方法,每一个方法对应一种产品。ConcreteFactory(具体工厂):实现了在抽象过程中声明的创建产品的方法,生成一组具体产品,这些产品构成一个产品组。AbstractProduct(抽象产品):它为每种产品声明提供接口,在抽象产品中声明了产品所具有的原创 2021-01-08 23:06:17 · 121 阅读 · 0 评论