Design Pattern
java设计模式
醉花妍
这个作者很懒,什么都没留下…
展开
-
设计模式:简单工厂模式
一、工厂方法的类图二、模式含义Factory(工厂角色):工厂角色即工厂类,它是简单工厂模式的核心,负责实现创建所有产品实例的内部逻辑;工厂类可以被外界直接调用,创建所需的产品对象;在工厂类中提供了静态的工厂方法factoryMethod(),它的返回类型为抽象产品类型Product。Product(抽象产品角色):它是工厂类所创建的所有对象的父类,封装了各种产品对象的公有方法,它...原创 2018-09-04 18:21:05 · 82 阅读 · 0 评论 -
设计模式:外观模式(Facade Pattern)
一、模式含义外观模式:为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。二、模式角色Facade(外观角色):(提供功能齐全的接口,持有子系统的引用)在客户端可以调用它的方法,在外观角色中可以知道相关的(一个或者多个)子系统的功能和责任; 在正常情况下,它将所有从客户端发来的请求委派到相应的子系统去,传递给相应的子系统对象...原创 2018-09-21 14:02:19 · 166 阅读 · 2 评论 -
设计模式:适配器模式(Adapter Pattern)
目录一、模式含义适配器模式(Adapter Pattern): Target(目标抽象类): Adapter(适配器类):Adaptee(适配者类):二、模式分类1.类适配器2.对象适配器3.双向适配器三、示例代码Target(目标抽象类): Adapter(适配器类):Adaptee(适配者类):一、模式含义适配器模式(Adapter ...原创 2018-09-20 11:28:53 · 163 阅读 · 0 评论 -
设计模式:JDK自带的观察者模式(Observer Pattern)
一、模式含义点击这里查看(我上篇的博文)二、模式示例2.1Subject(目标):JDK自带抽象目标Observable目标又称为主题,它是指被观察的对象。在目标中定义了一个观察者集合,一个观察目标可以接受任意数量的观察者来观察,它提供一系列方法来增加和删除观察者对象,同时它定义了通知方法notify()。目标类可以是接口,也可以是抽象类或具体类。我下面直接黏贴JDK自带抽象目...原创 2018-09-20 09:43:00 · 397 阅读 · 0 评论 -
设计模式:观察者模式(Observer Pattern)
目录一、模式含义观察者模式(Observer Pattern):定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式的别名:包括发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。1.1Subj...原创 2018-09-20 09:28:15 · 186 阅读 · 0 评论 -
七个设计模式原则详解
目录 一、单一职责原则单一职责原则(Single Responsibility Principle, SRP): 二、开闭原则开闭原则(Open-Closed Principle, OCP):三、里氏代换原则里氏代换原则(Liskov Substitution Principle, LSP):在使用里氏代换原则时需要注意如下几个问题:四、依赖倒转原则 依赖倒...原创 2018-09-25 14:06:54 · 861 阅读 · 0 评论 -
七种设计模式原则总结
目录一、面向对象解决核心问题可维护性可复用性二、七种设计模式原则总结一、面向对象解决核心问题可维护性可复用性这俩个问题是核心问题,如果这俩个问题能解决,才是真正的面向对象编程二、七种设计模式原则总结设计模式原则 定义 单一职责原则 (Single Responsibility Principle, SRP) 一个类只负...原创 2018-09-25 11:21:07 · 578 阅读 · 0 评论 -
设计模式:装饰模式(Decorator Pattern)
目录一、类图二、模式定义装饰模式(Decorator Pattern):三、模式角色说明Component(抽象构件):ConcreteComponent(具体构件):Decorator(抽象装饰类):ConcreteDecorator(具体装饰类):四、代码示例Component(抽象构件):ConcreteComponent(具体构件):Deco...原创 2018-09-25 10:41:37 · 215 阅读 · 0 评论 -
设计模式:命令模式(Command Pattern)
目录一、类图二、命令模式含义命令模式(Command Pattern):在命令模式结构图中包含如下几个角色:三、示例以开关控制灯泡为例,Invoker类相当于开光,Light相当于灯泡。一、类图二、命令模式含义命令模式(Command Pattern):将一个请求封装为一个对象,从而让我们可用不同的请求对客户进行参数化; 对请求排队或者记录请求日志,以...原创 2018-09-17 15:44:14 · 254 阅读 · 0 评论 -
设计模式:状态模式(State Pattern)
一、类图状态模式与策略模式的类图一样的,唯一不同,名字不同(Strategy->State)参考我写的策略模式二、模式含义 Context(环境类):环境类又称为上下文类,它是拥有多种状态的对象。由于环境类的状态存在多样性且在不同状态下对象的行为有所不同,因此将状态独立出去形成单独的状态类。在环境类中维护一个抽象状态类State的实例,这个实例定义当前状态,在具体实现时,它是...原创 2018-09-12 16:24:08 · 147 阅读 · 0 评论 -
设计模式:策略模式(Strategy Pattern)
一、类图二、模式含义在策略模式结构图中包含如下几个角色:Context(环境类):环境类是使用算法的角色,它在解决某个问题(即实现某个方法)时可以采用多种策略。在环境类中维持一个对抽象策略类的引用实例,用于定义所采用的策略。Strategy(抽象策略类):它为所支持的算法声明了抽象方法,是所有策略类的父类,它可以是抽象类或具体类,也可以是接口。环境类通过抽象策略类中声明的方法在...原创 2018-09-12 16:09:34 · 115 阅读 · 0 评论 -
设计模式:建造者模式(Builder Pattern)
一、类图二、模式含义Product(产品角色):它是被构建的复杂对象,包含多个组成部件,具体建造者创建该产品的内部表示并定义它的装配过程。Builder(抽象建造者):它为创建一个产品Product对象的各个部件指定抽象接口,有两类方法a类方法: 是buildX(),它们用于创建对象的各个部件;B类方法:是builder(),它们用于返回产品对象。Builder既可以是抽象...原创 2018-09-06 11:30:13 · 169 阅读 · 0 评论 -
设计模式:单例模式(Singleton Pattern)
一、类图 二、模式含义单例模式(Singleton Pattern):单例模式是一种对象创建型模式。1、确保某一个类只有一个实例2、自行实例化并向整个系统提供这个实例,这个类称为单例类,3、它提供全局访问的方法。 三、代码实现1、饿汉模式package com.yan.pattern.singleton.ehan;public class Sing...原创 2018-09-05 17:29:17 · 196 阅读 · 0 评论 -
设计模式:职责链模式(Chain of Responsibility Pattern)——行为模式
目录 一、类图链表的形式,这里给你们一个想象空间,可以测试下面的代码就能画出来(简单)二、模式含义职责链模式(Chain of Responsibility Pattern):Handler(抽象处理者):ConcreteHandler(具体处理者):三、代码实现抽象处理者具体处理者四、总结五、案例一、类图链表的形式,这里给你们一个想象空间...原创 2018-09-11 16:09:46 · 645 阅读 · 0 评论 -
设计模式:模板模式(Template Pattern)——类行为型模式
一、类图 二、模式含义模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。1、 AbstractClass(抽象类):a.在抽象类中定义了一系列基本操作(PrimitiveOperations),这些基本操作可以是具体的,也可以是抽象的,b.每一个基本操作对应算法的一个步骤,在其子...原创 2018-09-11 14:44:47 · 178 阅读 · 0 评论 -
设计模式:工厂方法模式(Factory Method Pattern)
一、工厂方法的类图二、模式含义在工厂方法模式结构图中包含如下几个角色: Product(抽象产品):它是定义产品的接口,是工厂方法模式所创建对象的超类型,也就是产品对象的公共父类。ConcreteProduct(具体产品):它实现了抽象产品接口,某种类型的具体产品由专门的具体工厂创建,具体工厂和具体产品之间一一对应。Factory(抽象工厂):在抽象工厂类中,声明了工厂方法...原创 2018-09-05 09:45:13 · 152 阅读 · 0 评论 -
设计模式:原型模式(Prototype)
一、类图二、模式含义Prototype(抽象原型类):a.它是声明克隆方法的接口,是所有具体原型类的公共父类, b.可以是抽象类也可以是接口,甚至还可以是具体实现类。ConcretePrototype(具体原型类):它实现在抽象原型类中声明的克隆方法,在克隆方法中返回自己的一个克隆对象。...原创 2018-09-11 13:50:37 · 137 阅读 · 0 评论 -
设计模式:代理模式(Proxy Pattern)
一、类图二、模式定义代理模式:给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问。三、模式角色(1) Subject(抽象主题角色):它声明了真实主题和代理主题的共同接口,这样一来在任何使用真实主题的地方都可以使用代理主题,客户端通常需要针对抽象主题角色进行编程。(2) Proxy(代理主题角色):它包含了对真实主题的引用,从而可以在任何时候操作...原创 2018-09-21 14:57:49 · 120 阅读 · 0 评论