-
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