1
edit
Changes
Bridge
,→Consequences
The '''Bridge pattern''' is intended allows you to decouple an abstraction from its implementation so both can vary independently. The Bridge pattern is also know as Handle/Body.<br/><br/>
__TOC__
== UML Structure ==
<li>we want to hide the implementation of an abstraction completely from clients</li>
<li>we want to share an implementation among multiple objects, and this fact should be hiddent from the client</li>
<li>useful in graphic and windowing systems that need to run over multiple platforms</li>
<li>useful any time we need to vary an interface and an implementation in different ways</li>
</ul></ul>
</ul>
== Code Examples ==
====PHP Java Bridge in Java Code====The following code is found on "Oregon State University Open Source Lab" which illustrate the Bridge pattern. The following is a part of the code which allows user to vary the class loader. <br/>
Source: http://gentoo.osuosl.org/distfiles/php-java-bridge_2.0.8.tar.bz2<br/>
File: JavaBridge.java<br/>
public void updateJarLibraryPath(String path, String extensionDir) {
if(cl==null) {
bridge.logMessage("You don't have permission to call java_set_library_path() or java_require(). Please store your libraries in the lib folder within JavaBridge.war");
return;
}
====Sample Code in Java====
The following is a an easier to follow example of the Bridge pattern:<br/>
Source: http://en.wikipedia.org/wiki/Bridge_pattern
<pre>