Work towards #56: Splitting up the README

I did the job and splitted up the readme, hopefully everything was
splitted correctly...
This commit is contained in:
Markus
2015-08-13 23:54:40 +02:00
parent ea524ee2c0
commit fbb12b53ba
58 changed files with 1205 additions and 759 deletions

21
bridge/index.md Normal file
View File

@ -0,0 +1,21 @@
---
layout: pattern
title: Bridge
folder: bridge
categories: pattern_cat
tags: pattern_tag
---
**Intent:** Decouple an abstraction from its implementation so that the two can
vary independently.
![alt text](./etc/bridge_1.png "Bridge")
**Applicability:** Use the Bridge pattern when
* you want to avoid a permanent binding between an abstraction and its implementation. This might be the case, for example, when the implementation must be selected or switched at run-time.
* both the abstractions and their implementations should be extensible by subclassing. In this case, the Bridge pattern lets you combine the different abstractions and implementations and extend them independently
* changes in the implementation of an abstraction should have no impact on clients; that is, their code should not have to be recompiled.
* you have a proliferation of classes. Such a class hierarchy indicates the need for splitting an object into two parts. Rumbaugh uses the term "nested generalizations" to refer to such class hierarchies
* you want to share an implementation among multiple objects (perhaps using reference counting), and this fact should be hidden from the client. A simple example is Coplien's String class, in which multiple objects can share the same string representation.