设计模式
文章平均质量分 88
本专栏介绍Java中的常用设计模式,使用场景是Android,在Android中有很多地方用到了设计模式,掌握这些设计模式的核心会帮助我们在设计开发应用时,更加富有灵感。
ok406lhq
哦jio撒嘛
展开
-
安卓设计模式の单例模式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例在安卓中,常用到的单例模式有六种: 饿汉\懒汉\懒汉线程安全\DCL\静态内部类\枚举;下面将一一作介绍一、饿汉模式codepublic class HungrySingleton { private static final原创 2017-11-21 11:51:19 · 664 阅读 · 0 评论 -
安卓设计模式のBuilder模式
Builder模式1、概念建造者模式是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象的创建过程相分离。这个概念有点难懂,其实就是说,客户端你不需要知道复杂对象的内部组成部分和数据的运行结构是什么,你只需要知道Builder这个类型就可以了,它的关注点放在如何一步步创建一个复杂的对象上,而不是把复杂对象一步步拆开来。 它支持链式调用,Builder对象调用函数后会返回一个Bu原创 2017-11-21 20:36:44 · 690 阅读 · 2 评论 -
安卓设计模式のAdapter模式
Android设计模式源码解析之适配器(Adapter)模式 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。原创 2017-12-03 10:30:21 · 1050 阅读 · 0 评论 -
安卓设计模式の组合模式
1. 模式介绍模式的定义 组合模式(Composite Pattern)又叫作部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。 GoF在《设计模式》一书中这样定义组合模式:将对象组合成树形结构以表示“部分-整体”的层次结构。使得用户对单个对象和组合对象的使用具有一致性。原创 2017-12-05 10:09:12 · 650 阅读 · 0 评论 -
安卓设计模式の模板方法模式
Android设计模式源码解析之模板方法模式 1. 模式介绍模式的定义定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模式的使用场景 多个子类有公有的方法,并且逻辑基本相同时。 重要、复杂的算法,可以把核心算法设计为模板方法,周边的相关细节功能则由各个子类实现。 重构时,模板方法模式是一个经常使用的模式,把相同的代码抽取到父类中,原创 2017-12-05 10:16:42 · 639 阅读 · 0 评论 -
安卓设计模式の策略模式
Android设计模式源码解析之策略模式 1. 模式介绍模式的定义策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。注:针对同一类型操作,将复杂多样的处理方式分别开来,有选择的实现各自特有的操作。模式的使用场景 针对同一类型问题的多种处理方式,仅仅是具体行为有差别时。 需要安全的封装多种同一类型的操作时。 出现同一抽象多个子类,原创 2017-12-05 10:27:35 · 646 阅读 · 0 评论 -
安卓设计模式の责任链模式
Android设计模式源码解析之责任链模式 1. 模式介绍模式的定义一个请求沿着一条“链”传递,直到该“链”上的某个处理者处理它为止。模式的使用场景一个请求可以被多个处理者处理或处理者未明确指定时。2. UML类图角色介绍Client:客户端Handler:抽象处理者ConcreteHandler:具体处理者3. 模式的简单实现简单实现的介绍责任链模式非常简单异常好理解,相信我它比单例模式还简单易懂原创 2017-12-05 10:30:00 · 658 阅读 · 0 评论 -
安卓设计模式の外观模式
Android设计模式源码解析之外观模式(Facade)1. 模式介绍模式的定义外观模式(也成为门面模式)要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。它提供一个高层次的接口,使得子系统更易于使用。模式的使用场景 在设计初期阶段,将不同的两个层分离; 在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,大多数的模式使用时也都会产生很多很小的类,这本是好事,但也给外部调用它们的用原创 2017-12-05 10:36:41 · 766 阅读 · 0 评论 -
公共技术点之面向对象六大原则
在工作初期,我们可能会经常会有这样的感觉,自己的代码接口设计混乱、代码耦合较为严重、一个类的代码过多等等,自己回头看的时候都觉得汗颜。再看那些知名的开源库,它们大多有着整洁的代码、清晰简单的接口、职责单一的类,这个时候我们通常会捶胸顿足而感叹:什么时候老夫才能写出这样的代码! 在做开发的这些年中,我渐渐的感觉到,其实国内的一些初、中级工程师写的东西不规范或者说不够清晰的原因是缺乏一些指导原则。转载 2017-12-05 10:41:02 · 725 阅读 · 0 评论 -
安卓设计模式の代理模式
Android设计模式源码解析之Proxy模式 Binder中的代理模式再说Binder中的代理模式之前,我们需要先看看代理模式的简单实现,这一部分内容采用了《JAVA与模式》之代理模式这篇文章中的代码示例和uml类图。1. 模式介绍代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。模式的使用场景就是一个人或者机构代表另一个人或者机构采取行动。原创 2017-12-05 10:43:14 · 657 阅读 · 0 评论 -
安卓设计模式の装饰者模式
Android设计模式源码解析之装饰者模式1. 模式介绍模式的定义装饰模式也叫做包装模式,是结构型设计模式之一。目的是为了给一个类或对象增加行为。可以是继承的一种替代。 装饰模式也很好理解,比如一个人,给他装上火箭就能上天了,装上潜水服就能下海了,但本身还是个人,人没有任何变化。装饰者模式的的定义是动态地给一个对象添加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。原创 2017-12-05 11:16:44 · 653 阅读 · 0 评论 -
安卓设计模式の观察者模式
观察者模式是一种使用频率非常高的设计模式,最常用的地方就是订阅-发布系统。这个模式的重要作用就是将观察者和被观察者解耦,使他们之间的依赖更小甚至没有。定义定义对象一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于他的对象都会得到通知并被自动更新。模式的使用场景 关联行为场景,这个关联是可拆分的。将观察者和被观察者封装在不同的对象中,可以各可以各自独立的变化。原创 2017-12-05 11:29:06 · 648 阅读 · 0 评论