
设计模式
寻梦追风
这个作者很懒,什么都没留下…
展开
-
设计模式之建造型-原型模式(5)
今天介绍原型模式,也是最后一个建造型设计模式定义:通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的方法来创建出更多的新对象。定义很简单,就是通过实例制定种类,通过拷贝创建对象,该模式适用于以下场景1,对象的创建十分复杂。2在运行的过程中并不知道对象的具体类型,可以使用原型模式来创建一个相同类型的对象出来。在Java中,实现原型模式很简单,即实现cloneable接口,然后使用原创 2017-05-25 16:08:51 · 303 阅读 · 0 评论 -
设计模式之结构型-组合模式(12)
最近项目忙好久不更新了,今天给大家更新最后一个结构型设计模式,组合模式。 定义:将对象组合成树的结构以表示“部分-整体”的层数结构。 组合模式使得用户对单个对象和组合对象的使用具有一致性 下面是类图 该模式使用不多,常用于底层的树型结构中,例如二叉树,在这里就不写代码例子了原创 2017-07-13 16:08:01 · 232 阅读 · 0 评论 -
设计模式之结构型-外观模式(9)
今天给大家介绍外观模式 外观模式定义:为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这个系统更加容易使用 uml图(来自百度百科) 外观角色(facade):模式的核心,被客户client调用,根据用户的需求来决定功能 子系统角色(package1,2,3):实现子系统的功能 客户(client1,2):调用facade实现相关功能该模式较为简单实用,下面我们用Ja原创 2017-06-20 14:59:44 · 222 阅读 · 0 评论 -
设计模式之结构型-代理模式(8)
今天介绍代理模式 代理模式定于:为其他对象提供一种代理控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 下面我们看一下UML类图 public interface Subject { void method(); } public class RealSubject implements Subject {原创 2017-06-07 16:29:16 · 250 阅读 · 0 评论 -
设计模式之结构型-享元模式(11)
接着学习享元模式 享元模式定义:运用共享技术有效的支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。 下面是享元模式的类图 其中: Flyweight:抽象享元角色,享元对象的基类或者接口。 FlyweightFactory:享元工厂,负责管理享元对象池,创建享元角色。 ConcreteFlyweight:具体享元角色,实现Flyw原创 2017-06-28 16:13:39 · 336 阅读 · 0 评论 -
设计模式之建造型-抽象工厂模式(3)
定义:为创建一组相关或者相互依赖的对象提供一个接口,而无需指定它们的具体类。 定义很抽象,我们具体分析,沿用上一篇工厂方法模式的例子,如果我们想对工厂类进行添加需求,要求其不仅仅生产华为和小米,还生产苹果。这个时候显然以上代码无法满足我们的需求,必须对工厂类进行修改,这就违反了开闭原则。为了解决这一问题,我们用抽象工厂,创建多个工厂类。原创 2017-05-19 15:32:18 · 267 阅读 · 0 评论 -
java 设计模式(Design Patterns)总
设计模式,是一套可以被反复利用,多数人知晓的,经过分类,代码设计经验,说简单点,设计模式就是为了让自己的代码可读性增强,复用率提高,保证代码的可靠性。 一,设计模式的分类: 设计模式可以分为三大类: 1 创建型模式,一共有5种: 工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 2 结构型模式, 一共有7种:设配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元原创 2017-05-16 15:31:52 · 1185 阅读 · 1 评论 -
设计模式之结构型-适配器模式(6)
定义:将一个类的接口转换成客户希望的另一个类的接口。使原本由于接口不兼容不能工作的类可以一起工作 关于适配器,举个很简单的例子:我们以前买的水货手机,原装的充电器一般不能在国内使用,这个时候就需要转换头(适配器)来帮忙以达到国内使用的目的。 代码中分为三种,1类的适配器模式,2对象的适配器模式,3接口适配器 我们先来看看类的适配器模式的类图 其中: Targetable:目标接口,所期待获原创 2017-06-01 14:53:27 · 244 阅读 · 0 评论 -
设计模式之建造型-单例模式(1)
如果有人问你安卓开发中最长使用的设计模式有哪些,回答恐怕非单例模式莫属了,android开发中经常会用到单例模式,但实际上,单例模式有众多的写法,每种写法各有优缺点,我们还是要更了解单例模式才行。 定义:保证系统中一个类只有一个实例。即一个类只有一个对象实例。 1.饿汉模式 public class Singleton { private Singleton(原创 2017-05-17 09:56:51 · 317 阅读 · 0 评论 -
设计模式之结构型-装饰模式(7)
今天介绍装饰模式 定义:在不改变原类文件和不使用继承的情况下,动态的拓展一个对象的功能。 下面我们看一下类图 下面我用java代码实现一下 public interface Component { //待装饰的父类接口 void method(); }public class ConcreteComponent implements Component { //待装饰类原创 2017-06-05 14:38:28 · 279 阅读 · 0 评论 -
设计模式之建造型-简单工厂模式(2)
工厂模式是我们最常用的实例化对象的模式了,使用工厂模式可以给系统带来更大的拓展性和更小的修改量。 1,普通工厂模式。 普通工厂模式用例图 其次,我们创建实现类 public class HuaWeiPhone implements Phone { @Override public void call() { Log.原创 2017-05-18 13:23:08 · 348 阅读 · 0 评论 -
设计模式之结构型-桥接模式(10)
今天给大家介绍桥接模式 桥接模式定义:将抽象部分与它的实现部分分离,使他们可以独立变化。 下面是桥接模式的类图: 下面我们用代码实现public interface Sourceable { void method(); } public class Sourceable1 implements Sourceable{ @Override public void原创 2017-06-28 13:49:20 · 237 阅读 · 0 评论