
设计模式
文章平均质量分 62
路易斯睿齐
这个作者很懒,什么都没留下…
展开
-
创建型模式5之4-Builder建造者模式例子理解
将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 [构建与表示分离,同构建不同表示]与抽象工厂的区别:在建造者模式里,有个指导者,由指导者来管理建造者,用户是与指导者联系的,指导者联系建造者最后得到产品。即建造模式可以强制实行一种分步骤进行的建造过程。 建造模式是将复杂的内部创建封装在内部,对于外部调用的人来说,只需要传入建造者和建造工具,对于内部是如何建造成成品的,调用者原创 2016-01-14 17:16:53 · 637 阅读 · 0 评论 -
23种java设计模式例子汇总
五种创建型模式(创建类模式): 1.单例模式Singleton:用于得到内存中的唯一对象。 2.工厂方法模式FactoryMethod:用于创建复杂对象。 3.抽象工厂模式AbstractFactory:用于创建一组相关或相互依赖的复杂对象。 4.建造者模式Builder 5.原型模式Prototype ==============================转载 2016-01-15 09:35:56 · 1538 阅读 · 0 评论 -
创建型模式5之5-Prototype原型模式例子理解
原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件: 实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。在java虚拟机中,只有实现了这个接口的类才可以被拷贝,否则在运行时会抛出CloneNotSupportedExcep转载 2016-01-15 10:29:23 · 729 阅读 · 0 评论 -
行为型模式11之3-Strategy策略模式例子理解
ps: 面向接口编程,而不是面向实现编程。 多用组合,少用继承。策略模式,可复用、又可变更。策略模式中的设计原则, 1、组合一个策略对象,将飞行行为代理给该对象的实现 交由飞行策略接口,由飞行实现去完成 FlyStragedy:FlyWithRocket、FlyNoWay、FlyWithWing(多态) 2、面向接口,而不是面向工程实现 接口提供契约,规范总体框架 3、多用组合,少用原创 2016-02-22 17:11:12 · 575 阅读 · 0 评论 -
创建型模式5之2-AbstractFactory抽象工厂模式例子理解
例子一package com.AbstractFactoryModel;/** * 抽象工厂:多个抽象产品类,派生出多个具体产品类;一个抽象工厂类,派生出多个具体工厂类;每个具体工厂类可创建多个具体产品类的实例。 即提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们的具体的类。“一对多”的关系。 抽象工厂:(1) 一个系统不应当依赖于产品类实例如何被创建、组合和表达的细节,原创 2016-01-14 15:26:35 · 932 阅读 · 0 评论 -
创建型模式5之1-FactoryMethod工厂方法模式例子理解
例子一package com.test.factorymodel;/** * 工厂方法:一抽象产品类派生出多个具体产品类;一抽象工厂类派生出多个具体工厂类;每个具体工厂类只能创建一个具体产品类的实例。 即定义一个创建对象的接口(即抽象工厂类),让其子类(具体工厂类)决定实例化哪一个类(具体产品类)。“一对一”的关系。 在以下情况下,适用于工厂方法模式:(1) 当一个类不知道它所必须原创 2016-01-14 16:12:03 · 781 阅读 · 0 评论 -
结构型模式7之2-Adapter适配器模式例子理解
例子一(对象适配器模式): 1。Applepackage com.test.adaptermodel;public class Apple { public void getAColor(String str) { System.out.println("Apple color is: " + str); }}2.Orangepackage com.test.a原创 2016-02-18 14:13:22 · 665 阅读 · 0 评论 -
行为型模式11之2-TemplateMethod模板方法模式例子理解
模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。 比如定义一个操作中的算法的骨架,将步骤延迟到子类中。模板方法使得子类能够不去改变一个算法的结构即可重定义算法的某些特定步骤。原创 2016-02-19 10:47:45 · 579 阅读 · 0 评论 -
结构型模式7之1-Proxy代理模式例子理解
结构型模式1-代理模式转载 2016-01-27 15:18:26 · 576 阅读 · 0 评论 -
行为型模式11之1-Observer观察者模式例子理解
观察者模式中,一个被观察者管理所有相依于它的观察者物件,并且在本身的状态改变时主动发出通知。这通常通过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。角色 抽象被观察者角色:把所有对观察者对象的引用保存在一个集合中,每个被观察者角色都可以有任意数量的观察者。被观察者提供一个接口,可以增加和删除观察者角色。一般用一个抽象类和接口来实现。 抽象观察者角色:为所有具体的观察者定义一原创 2016-02-18 10:08:51 · 891 阅读 · 0 评论 -
创建型模式5之3-Singleton单例模式的八种写法比较
单例模式的八种写法比较单例模式是最常用到的设计模式之一,熟悉设计模式的朋友对单例模式都不会陌生。一般介绍单例模式的书籍都会提到 饿汉式 和 懒汉式 这两种实现方式。但是除了这两种方式,本文还会介绍其他几种实现单例的方式,让我们来一起看看吧。简介单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在转载 2016-01-14 10:01:33 · 1511 阅读 · 0 评论 -
行为型模式11之4-Chain of Responsibility责任链模式例子理解
职责链模式 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系, 将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。角色 抽象处理者角色(Handler):定义出一个处理请求的接口。如果需要,接口可以定义 出一个方法以设定和返回对下家的引用。这个角色通常由一个Java抽象类或者Java接口实现。 具体处理者角色(ConcreteHandler):具体原创 2016-02-24 15:45:27 · 844 阅读 · 0 评论