
设计模式 模块
Java 23种设计模式知识
神韵499
记录、创造与成就感也许是我写博客的一个原因。当然,转载也是我对知识存储的渴望,我对别人的知识点的赞同,这也是一个原因。但是,每天早上起来在自己博客里回味、每天早上在博客海洋里进步,每天在过去的知识里又学到了新的知识,有了新的认识。这才是我写博客最大的原因
展开
-
设计模式八:代理模式
一、什么是代理模式Proxy模式又叫做代理模式,是是结构型设计模式之一,它可以为其它对象提供一种代理(Proxy)以控制对这个对象的访问。所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互过程中(交互前后),进行某种特别的处理。简单的说,代理模式就像一种中介。举个例子,本来自己买车,则需要自己找车源,还有一系列检查过程,特...原创 2019-07-18 21:25:32 · 205 阅读 · 0 评论 -
设计模式七:装饰模式
一、什么是装饰模式装饰(Decorator)模式又叫做包装模式,是结构型模式之一。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案二、装饰模式的特点可以层层装饰,十分方便使用。io流使用的最多。三、装饰模式的角色和职责抽象组件角色:一个抽象接口,是被装饰类和装饰类的父接口 具体组件角色:为抽象组件的实现类 抽象装饰角色:包含一个组件的引用,并...原创 2019-07-17 11:12:03 · 222 阅读 · 0 评论 -
设计模式六:建造者模式
一、什么是建造者模式?建造者模式属于对象创建型模式之一,Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是用来隐藏复合对象(属性是对象)的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态的创建具有复合属性的对象子组件由Builder来负责(提供构建每个子组件的方法,也可以通过工厂得到)装配由Directo...原创 2019-09-14 10:21:33 · 154 阅读 · 0 评论 -
设计模式五:原型模式
一、什么是原型模式原型模式(Prototype)是一种对象创建型模式,它采用复制原型对象的方法来创建对象的实例。使用原型模式创建的实例,具有与原型一样的数据。二、原型模式的特点由原型对自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身 目标对象是原型对象的一个克隆。也就是说,通过Prototype模式创建的对象,不仅仅与原型对象具有相同的结构,还与原型对象具有相同的值...原创 2019-07-14 18:24:02 · 248 阅读 · 0 评论 -
设计模式四:单例模式
一、什么是单例模式单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间找那个,该类只存在一个实例对象。其实,GoF对单例模式的定义是:保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。二、为什么要使用单例模式呢?在应用开发中,我们常常有以下需求:在多个线程之间,比如servlet环境,共享一个资源...原创 2019-07-11 16:06:52 · 171 阅读 · 0 评论 -
设计模式三:抽象工厂模式
前提先说:抽象工厂确实很抽象,抽象的自己头疼。。。但是,必须掌握,抽象工厂解决了多态+开放关闭原则,效率高。抽象工厂一般都用在数据库切换使用方面。经过一天的折腾,算是搞定抽象工厂,下面让你们跟着我的思维来学习抽象工厂。首先,引入一些知识,抽象工厂和之前学的工厂方法模式的区别,在工厂方法模式之下,这样比较好学抽象工厂。工厂方法模式:生产一种产品,比如包子(包含肉包、菜包等等)...原创 2019-06-02 19:13:35 · 299 阅读 · 0 评论 -
设计模式二:工厂方法模式
一、介绍工厂方法模式是简单工厂模式的改进,改进后的工厂方法模式满足了“单一职责”原则与“开放-关闭”(OCP)原则。工厂方法模式同样属于类的创建型模式又称为多态工厂模式。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以...原创 2019-06-02 13:28:11 · 194 阅读 · 0 评论 -
设计模式一:简单工厂模式
一、介绍简单工厂模式属于类的创建型模式,又叫静态工厂方法模式。通过专门定义一个类创建其他类的实例,被创建的实例通常具有共同父类。优点:简单工厂模式实现了对象的“创建”和“使用”的分离,实现了接口编程,遵循了DIP原则(依赖倒置原则,实际上就是面向接口编程)缺点:但违背了单一原则(一个工厂生产太多产品);增加新的产品对象时须修改工厂类静态方法违背了开闭原则(就是实体对拓展开放,对修改关闭...原创 2019-06-01 22:35:58 · 236 阅读 · 0 评论 -
面向对象六大设计原则
面向对象设计原则--------------设计原则是评判设计模式的正确与否,或者评判代码好坏。一、依赖倒置原则(DIP)高层模块(稳定)不应该依赖于底层模块(变化),二者都应该依赖于抽象(稳定) 抽象(稳定)不应该依赖于实现细节(变化),实现细节应该依赖于抽象(稳定)条件:有稳定的类A,不稳定的类B、C,有抽象或者接口D(稳定)让A依赖B/C则造成依赖倒置,因为是稳定依赖不稳定...原创 2019-07-18 09:31:18 · 239 阅读 · 0 评论 -
设计模式23种分类
设计模式分类1、创建型模式单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式2、结构型模式代理模式、适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式3、行为型模式模板方法模式、策略模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、职责链模式、访问者模式...原创 2019-09-13 15:35:28 · 158 阅读 · 0 评论 -
简单工厂模式、工厂模式以及抽象工厂模式(具体)
转自:简单工厂模式、工厂模式以及抽象工厂模式(具体)转前感受:工厂模式挺难的,看了无数次,基本上,特别是从工厂方法模式到抽象工厂模式,得用心去理解,去动手。看了这篇文章后我写了抽象工厂模式的博客,画了好多张图才理解 工厂方法模式:工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。一、简单工厂模式:实例化对象的时候不再...转载 2019-06-02 16:47:47 · 170 阅读 · 0 评论 -
dom4j+oracle数据库+单例懒汉模式读取xml
今天借助配置Oracle数据库连接的实例,跟大家一起来学习读取xml文件的一种方法(其他读取方法后续介绍)——使用dom4j+xpath。dom4j是dom4j.org出品的一个开源的XML解析包。故必须将包“dom4j-1.6.1.jar”拷贝到web-inf/lib下面。我们采取xpath方式查...转载 2018-07-26 10:06:45 · 170 阅读 · 0 评论 -
设计模式九:适配器模式
一、什么是适配器模式适配器模式是结构型设计模式之一。将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。二、使用场景适配器适用场景:当调用双方都不太容易修改的时候,为了复用现有组件可以使用适配器模式;在系统中接入第三方组件的时候经常被使用到。mybatis中的日记处理使用了适配器,对mybatis的Log接...原创 2019-09-16 10:19:09 · 304 阅读 · 0 评论