
设计模式
文章平均质量分 83
进击的代码家
这个作者很懒,什么都没留下…
展开
-
Android设计模式学习之观察者模式
观察者模式在实际项目中使用的也是非常频繁的,它最常用的地方是GUI系统、订阅——发布系统等。因为这个模式的一个重要作用就是解耦,使得它们之间的依赖性更小,甚至做到毫无依赖。以GUI系统来说,应用的UI具有易变性,尤其是前期随着业务的改变或者产品的需求修改,应用界面也经常性变化,但是业务逻辑基本变化不大,此时,GUI系统需要一套机制来应对这种情况,使得UI层与具体的业务逻辑解耦,观察者模式此时就派上用原创 2017-02-17 00:25:00 · 23601 阅读 · 9 评论 -
设计模式学习之访问者模式
访问者模式,是行为型设计模式之一。访问者模式是一种将数据操作与数据结构分离的设计模式,它可以算是 23 中设计模式中最复杂的一个,但它的使用频率并不是很高,大多数情况下,你并不需要使用访问者模式,但是当你一旦需要使用它时,那你就是需要使用它了。 访问者模式的基本想法是,软件系统中拥有一个由许多对象构成的、比较稳定的对象结构,这些对象的类都拥有一个 accept 方法用来接受访问者对象的访问。访问者是原创 2017-04-23 22:15:52 · 38471 阅读 · 13 评论 -
设计模式学习之模版方法模式
模板方法模式是一种基于继承的代码复用的行为型模式;在其结构中只存在父类与子类之间的继承关系。通过使用模板方法模式,可以将一些复杂流程的实现步骤封装在一系列基本方法中,在抽象父类中提供一个称之为模板方法的方法来定义这些基本方法的执行次序,而通过其子类来覆盖某些步骤,从而使得相同的算法框架可以有不同的执行结果。本篇博客我们一起来学习模版方法模式。定义与UML图定义 模板方法模式:定义一个操作中算法的框原创 2017-04-16 00:28:25 · 1100 阅读 · 0 评论 -
设计模式学习之组合模式
组合模式(Composite Pattern),是结构型模式之一。组合模式比较简单,它将一组相似的对象看作一个对象处理,并根据一个树状结构来组合对象,然后提供一个统一的方法去访问相应的对象,以此忽略掉对象与对象集合之间的差别。这个最典型的例子就是数据结构中的树,本篇博客我们就一起学习组合模式。定义与使用场景定义:将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具原创 2017-04-22 23:03:16 · 1199 阅读 · 0 评论 -
设计模式学习之中介者模式
我们平时写代码的过程,一个类必然会与其他类产生依赖关系,如果这种依赖关系如网状般错综复杂,那么必然会影响我们的代码逻辑以及执行效率,适当地使用中介者模式可以对这种依赖关系进行解耦使逻辑结构清晰,本篇博客,我们就一起学习中介者模式。定义及使用场景定义:中介者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显作用。从而使它们可以松散耦合。当某些对象之间的作用发生改变时,不会立即影响其他的一些对原创 2017-04-22 21:13:02 · 7986 阅读 · 2 评论 -
设计模式学习之备忘录模式
备忘录模式(Memento Pattern),是行为型模式设计模式之一,该模式用于保存对象当前状态,并且在之后可以再次恢复到此状态。备忘录模式实现的方式需要保证被保存的对象状态不能被对象从外部访问,目的是为了保护被保存的这些对象状态的完整性以及内部实现不向外暴露,本篇博客,我们就来一起学习备忘录模式。使用场景备忘录模式使用的场景如下: 1.需要保存一个对象在某一个时刻的状态或部分状态; 2.如果原创 2017-04-22 19:20:27 · 3983 阅读 · 1 评论 -
设计模式学习之代理模式
代理模式,可以分为两种,一种是静态代理,一种是动态代理。 两种代理从虚拟机加载类的角度来讲,本质上都是一样的,都是在原有类的行为基础上,加入一些多出的行为,甚至完全替换原有的行为。在我们平时写代码的过程中,代理模式可以说是随处可见,所以,本篇博客就将给大家介绍代理模式。基本概念代理模式是常用的结构型设计模式之一,当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证原创 2017-04-15 21:41:36 · 5547 阅读 · 3 评论 -
设计模式学习之策略模式
写代码时总会出很多的if…else,或者case。如果在一个条件语句中又包含了多个条件语句就会使得代码变得臃肿,维护的成本也会加大,而策略模式就能较好的解决这个问题,本篇博客就带你详细了解策略模式。策略模式的定义和使用场景定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们可以相互替换,让算法独立于使用它的客户而独立变化。分析下定义,策略模式定义和封装了一系列的算法,它们是可以相互替原创 2017-04-11 00:55:02 · 79429 阅读 · 43 评论 -
Android设计模式学习之Builder模式
Android设计模式学习之观察者模式建造者模式(Builder Pattern),是创造性模式之一,Builder 模式的目的则是为了将对象的构建与展示分离。Builder 模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细地控制对象的构造流程。模式的使用场景1.相同的方法,不同的执行顺序,产生不同的事件结果时; 2.多个部件或零件,都可以装配到一个对原创 2017-03-03 00:37:55 · 6078 阅读 · 0 评论 -
设计模式学习之适配器模式
在我们平时的开发过程中,适配器模式可以说是经常能见到的设计模式,ListView 和 RecyclerView 的 Adapter 就是典型的适配器模式,当我们在开发时,碰到要在两个完全没有关系的类之间进行交互,第一个解决方案是修改各自类的接口,但是如果无法修改源代码或者其他原因导致无法更改接口,此时怎么办?这种情况我们往往会使用一个 Adapter ,在这两个接口之间创建一个粘合剂接口,将原本无法原创 2017-04-23 15:14:15 · 2339 阅读 · 0 评论