当前位置::主页 > TAG标签 > 设计模式
  • Java 设计模式(7) —— 适配器模式

    一、适配器模式 将一个类的接口转换成另一种接口,让原本接口不兼容的类可以兼容 二、示例 1.显示生活中适配器的例子 生活中的适配器:充电器转接头,假如买了一个港版或者美版的手机,但是自带的充电器在国内是不能用的,因此需要在自带的充电头上再接一个

    18-05-18
  • Java 设计模式(6) —— 命令模式

    一、命令模式 将请求、命令、动作等封装成对象,这样可以让项目使用这些对象来参数化其他对象。使得命令的请求者和执行者解耦 二、示例 家电自动化遥控器API项目:智能遥控器上有多个开关按钮,可是实现不同家电的控制,也可对新家电进行接入拓展 如果用传统

    18-05-18
  • Java 设计模式(5) —— 工厂模式

    一、工厂模式 简单工厂模式 工厂方法模式 抽象工厂模式 二、示例 披萨项目:有一家披萨店,有很多种口味的披萨,但是这些披萨除了准备工作不同,后续的烘焙,切割,打包等方法都是相同的 用传统的面向对象模式,则在用户订单类中根据不同的订单要求,生产出

    18-05-18
  • Java 设计模式(4) —— 单例模式

    一、单例模式 确保一个类最多只有一个实例,并提供一个全局访问点 二、为什么会需要单例 有些对象我们只需要一个:线程池、缓存、硬件设备等 如果多个实例会有造成冲突、结果的不一致性等问题 是否可以用静态变量方式来实现? 或者程序员之间协商个全局变量?

    18-05-18
  • Java 设计模式(3) —— 装饰者模式

    一、装饰者模式 将原始对象进行装饰封装,动态的将新功能附加到对象上。在对象功能扩展方面,它比继承更有弹性 二、示例 咖啡馆订单项目,咖啡馆的咖啡种类有多种,可以添加的配料也有多种,不同的咖啡可以与配料进行任意搭配组合下单。要得到组合出的饮料价

    18-05-18
  • Java 设计模式(2) —— 观察者模式

    一、观察者模式 对象之间多对一依赖的一种设计方案,被依赖的对象为Subject,依赖的对象为Observer,Subject通知Observer变化 二、示例 Internet气象站项目,气象总部负责提供数据,给第三方的显示平台更新气象数据 1.传统模式 从面向对象的角度设计,在气象

    18-05-18
  • Java 设计模式(1) —— 策略模式

    设计模式是人们在面对同类型软件工程设计问题所总结出的一些有用的经验。模式不是代码,而是某类问题的通用设计解决方案。 设计模式的本质目的是使软件工程在维护性、扩展性、变化性、复杂度方面成O(N) OO是原则,设计模式是具体的方法、工具 一、策略模式

    18-05-18
  • 设计模式(13)-外观模式详解(易懂)

    外观模式的定义 外观模式(Facade),也被称为“门面模式”,为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。 模型: Facade:外观角色,了解子系统所有的方法和任务,此角色有自己的方法,client通过此角

    18-03-22
  • 设计模式(12)-适配器模式详解(易懂)

    适配器模式的定义 在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。共有两类适配器模式: 对象

    18-03-16
  • 关于Android模块化你需要知道的

    最近公司一个项目使用了模块化设计,本人参与其中的一个小模块开发,但是整体的设计并不是我架构设计的,开发半年有余,在此记录下来我的想法。 模块化场景 为什么需要模块化? 当一个App用户量增多,业务量增长以后,就会有很多开发工程师参与同一个项目,

    18-03-02
  • 设计模式(11)-策略模式详解(易懂)

    策略模式的定义 策略模式比较简单,是指对一系列的算法定义,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 模型: Context:上下文角色,起到封装的作用,持有一个Strategy对象的引用 Strategy:策略角

    18-02-27
  • 设计模式(10)-装饰模式详解(易懂)

    装饰模式的定义 装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 模型: Component:抽象组件,是一个接口或者抽象类;就是定义的最原始的对象 ConcreteComponent

    18-02-26
  • 设计模式(9)-责任链模式详解(易懂)

    责任链模式的定义 责任链模式是一种设计模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得

    18-02-12
  • 设计模式(8)-命令模式详解(易懂)

    命令模式的定义 命令模式,将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式(Command Pattern)。 模型: Invoker:调用者,就是接收到命令后负责调用 Receiver:接受者,也就是执行命令的人,最苦逼的 Command:命令者,封装好的命令类 下面通

    18-02-09
  • 设计模式(6)-代理模式详解(易懂)

    代理模式定义 定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 Subject:抽象角色,提取的公共方法,可以是一个接口或者抽象类 RealS

    18-01-29
  • 设计模式(5)-建造者模式详解(易懂)

    建造者模式定义 定义:建造者模式是设计模式的一种,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 先分析模型图上的四大部分: Product:产品类,指要创建的复杂对象,通常实现了模板方法模式。 Builder:抽象建造类,规范

    18-01-17
  • 设计模式(4)-模板方法模式详解(易懂)

    欢迎大家关注我的微信公众号:安卓干货铺 模板方法模式定义 模板方法模式(Template Method Pattern):定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法是一种类行为

    18-01-11
  • 设计模式(3)-抽象工厂模式详解(易懂)

    欢迎大家关注我的微信公众号:安卓干货铺 抽象工厂模式定义 抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品

    18-01-05
  • 设计模式(2)-工厂方法模式详解(易懂)

    欢迎大家关注我的微信公众号:安卓干货铺 工厂方法模式的定义 工厂方法模式(FACTORY METHOD)是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的

    17-12-29
  • 设计模式之四:访问者模式

    目录介绍 1.访问者模式介绍2.访问者模式定义3.访问者模式UML图4.访问者模式简单案例5.访问者模式之Android源码分析5.1 注解简单介绍5.2 注解与访问者模式关系5.3 注解与性能的关系6.访问者模式之实践6.1 介绍6.2 编译期注解之ButterKnife6.3 编译期注解之Dag

    17-11-23