
design pattern
zxc123e
这个作者很懒,什么都没留下…
展开
-
观察者模式
1. 概述 有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 2. 解决的问题 将一个系统分割成一个一些类相互协作的类有一个不好的副作用,那就是需要维护相关对象间的一致性。我们不希望为了维持一致性而使各类紧密耦合,这样会给维护、扩展和重用都带原创 2014-12-18 11:30:17 · 842 阅读 · 0 评论 -
责任链模式
责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。责任链模式意图:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传原创 2017-06-14 14:01:47 · 740 阅读 · 0 评论 -
Android中常见的设计模式
1. Builder模式在开发过程中,我们经常用到AlertDialog。在Android源码中,最常用的Builder模式就是AlertDialog.Builder,使用该Builder来构建复制AlertDialog对象。 2. 组合模式Android源码中关于组合模式有一个非常经典的实现,那就是View和ViewGroup的嵌套组合。 在Android的视图层级中,容器一定是Vie原创 2017-02-15 17:57:16 · 1230 阅读 · 0 评论 -
设计模式之组合模式
组合模式组合模式有时候叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户端可以像处理简单元素一样来处理复杂元素,从而使得客户端与复杂元素的内部结构解耦。意图将对象组合成树型结构以表示“部分-整体”的层次结构。Composite模式使得用户对单个对象和组合对象的使用具有一致性。角色Component(抽象构件接口) 为组合的对象声明接口 在某些情况下实现从此接口派生出的原创 2016-11-18 17:36:25 · 584 阅读 · 0 评论 -
包装模式
适配器模式①用途适配器模式的功能就是把一个类的接口变成客户端能接受的另一种接口,从而使两个接口不匹配而无法在一起工作的两个类能够在一起工作。②适配器模式结构 图中各个角色说明如下: Target(目标接口):所要转换的所期待的接口。 Adaptee(源角色):需要适配的接口。 Adapter(适配器):将源接口适配成目标接口,继承源接口(或持有源接的一个引用),实现目标类。 ③Java I/O中的原创 2016-05-30 15:08:03 · 3640 阅读 · 0 评论 -
策略模式
什么是策略模式策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换。策略模式的决定权在用户,系统本身提供不同算法的实现,新增或者删除算法,对各种算法做封装。因此,策略模式多用在算法决策系统中,外部用户只需要决定用哪个算法即可。策略模式优缺点 策略模式的优点 (1)策略模式提供了管理相关的算法族的办法。策略类的等级结构定义了一个算法或行为族。恰当使用继承可以把公共的代码移到父类原创 2015-11-11 15:36:29 · 677 阅读 · 0 评论 -
动态代理模式
1.意图 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 2.参与者 代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代理对象的共同接口; 代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对原创 2014-12-20 17:52:04 · 895 阅读 · 0 评论 -
抽象工厂模式
一、 抽象工厂(Abstract Factory)模式 抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。 为了方便引进抽象工厂模式,引进一个新概念:产品族(Product Family)。所谓产品族,是指位于不同产品等级结构,功能相关联的产品组成的家族。如图: 图中一共有四个产品族,分布于三个不同的产品等级结构中。只要指明一个产品所处的产品族以及它所属原创 2014-12-17 11:34:49 · 694 阅读 · 0 评论 -
JAVA设计模式之原型模式
定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 类型:创建类模式 类图: 原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件: 实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clo转载 2014-11-20 10:44:06 · 894 阅读 · 0 评论 -
命令模式
概念意图:将来自客户端的请求传入一个对象,从而使你可用不同的请求对客户进行参数化。用于“行为请求者”与“行为实现者”解耦,可实现二者之间的松耦合。角色: 1、Command:所有命令的抽象类,一般需要对外公开一个执行命令的方法execute,如有需要还需提供一个命令的撤销方法undo。 2、ConcreteCommand:命令的实现类,将一个接收者对象绑定于一个动作调用接收者相应的操作,以实现exe原创 2018-01-03 11:20:51 · 375 阅读 · 0 评论