个人简介

Echo Blog


江湖无名 安心练剑
  • Design Pattern 07-java 桥接模式(Bridge Pattern)
    桥接模式 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。 我们通过下面的实例来演示桥接模式(Bridge Pattern)的用法。其中,可以使用相同的抽象类方法但...
    2017-03-14 11:52:28 | Design Pattern
  • Design Pattern 06-适配器模式(Adapter Pattern)
    适配器模式 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。 我们通过下面的实例来演示适配器模...
    2017-03-14 11:52:28 | Design Pattern
  • Design Pattern 05-边车模式 sidecar
    问题背景 应用程序和服务通常需要相关的功能,例如监控、日志、集中化配置和网络服务等。这些外围任务可以作为单独的组件或服务来实现。 如果它们紧密集成到应用程序中,它们可以在与应用程序相同的进程中运行,从而有效地使用共享资源。 但是,这也意味着它们没有很好地隔离,并且其中一个组件的中断可能会影响其他组件或整个应用程序。 此外,它们通常需要使用与父应用程序相同的语言或者技术栈来实现。 因...
    2017-03-14 11:52:28 | Design Pattern
  • Design Pattern 05-原型模式(Prototype Pattern)
    原型模式 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。 这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更...
    2017-03-14 11:52:28 | Design Pattern
  • Design Pattern 04-builder 构建者模式
    建造者模式 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。 这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 比如:StringBuilder 实际案例 类信息概览: 类名 说明 Main.java 方法的总入口 ...
    2017-03-14 11:52:28 | Design Pattern
  • Design Pattern 03-单例(singleton)设计模式
    单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 注意 1、单例类只能有一个实例。 2、单例类必须自己创建自己的...
    2017-03-14 11:52:28 | Design Pattern
  • Design Pattern-03-观察者模式 observer
    Observer 观察者模式隶属于系统解耦(System decoupling)。 和其它形式的回调函数(callback)类似,Observer 模式也允许你通过挂钩程序 (hook point)改变代码。 不同之处在于,从本质上说,Observer 模式是完全动态的。 它经常被用于需要根据其它对象的状态变化来改变自身(状态)的场合,而且它 还经常是事件管理系统(event manag...
    2017-03-14 11:52:28 | Design Pattern
  • Design Pattern 02-代理模式 策略模式 proxy strategy
    Proxy 意图 为另一个对象提供代理或占位符以控制对它的访问。 适用性 远程代理为不同地址空间中的对象提供本地代表。 虚拟代理按需创建昂贵的对象。 保护代理控制对原始对象的访问。 智能引用是裸指针的替代品,它在访问对象时执行额外的操作。 后果 远程代理可以...
    2017-03-14 11:52:28 | Design Pattern