OpenLLM-France/wikimedia huggingface dataset:
# Character Encodings/Code Tables/EBCDIC/EBCDIC 882

IBM code page 882 (CCSID 882) is an EBCDIC code page used in IBM mainframes in the United Kingdom to support the English language and the IBM 5080 Graphics System.

## Codepage layout

EBCDIC 882 :
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
| 4x | SP | | | | | | | | | | $ 0024 | . 002E | < 003C | ( 0028 | + 002B | | 007C |
| 5x | & 0026 | | | | | | | | | | ! 0021 | £ 00A3 | * 002A | ) 0029 | ; 003B | ¬ 00AC |
| 6x | - 002D | / 002F | | | | | | | | | ¦ 00A6 | , 002C | % 0025 | _ 005F | > 003E | ? 003F |
| 7x | | | | | | | | | | ` 0060 | : 003A | # 0023 | @ 0040 | ' 0027 | = 003D | " 0022 |
| 8x | | a 0061 | b 0062 | c 0063 | d 0064 | e 0065 | f 0066 | g 0067 | h 0068 | i 0069 | | | | | | |
| 9x | | j 006A | k 006B | l 006C | m 006D | n 006E | o 006F | p 0070 | q 0071 | r 0072 | | | | | | |
| Ax | | ~ 007E | s 0073 | t 0074 | u 0075 | v 0076 | w 0077 | x 0078 | y 0079 | z 007A | | | | | | |
| Bx | | | | | | | | | | | | | | | | |
| Cx | { 007B | A 0041 | B 0042 | C 0043 | D 0044 | E 0045 | F 0046 | G 0047 | H 0048 | I 0049 | | | | ℄ 2104 | | |
| Dx | } 007D | J 004A | K 004B | L 004C | M 004D | N 004E | O 004F | P 0050 | Q 0051 | R 0052 | | ° 00B0 | ± 00B1 | | ⊔ 2294 | ↧ 21A7 |
| Ex | \ 005C | | S 0053 | T 0054 | U 0055 | V 0056 | W 0057 | X 0058 | Y 0059 | Z 005A | | ⌀ 2300 | | ≤ 2264 | ≥ 2265 | Ω 2126 |
| Fx | 0 0030 | 1 0031 | 2 0032 | 3 0033 | 4 0034 | 5 0035 | 6 0036 | 7 0037 | 8 0038 | 9 0039 | | | ⌵ 2335 | µ 00B5 | ∙ 2219 | EO |

## References

* ↑ "Code Page 882" (PDF). Archived from the original (PDF) on 2013-01-21.
# Character Encodings/Code Tables/EBCDIC/EBCDIC 836

IBM code page 836 (CCSID 836) is an EBCDIC code page used in IBM mainframes in China.

## Codepage layout

Characters are shown with their equivalent Unicode codes.
Simplified Chinese EBCDIC :
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
| 4x | SP | | | | | | | | | | £ 00A3 | . 002E | < 003C | ( 0028 | + 002B | | 007C |
| 5x | & 0026 | | | | | | | | | | ! 0021 | ¥ 00A5 | * 002A | ) 0029 | ; 003B | ¬ 00AC |
| 6x | - 002D | / 002F | | | | | | | | | ¦ 00A6 | , 002C | % 0025 | _ 005F | > 003E | ? 003F |
| 7x | | | | | | | | | | ` 0060 | : 003A | # 0023 | @ 0040 | ' 0027 | = 003D | " 0022 |
| 8x | | a 0061 | b 0062 | c 0063 | d 0064 | e 0065 | f 0066 | g 0067 | h 0068 | i 0069 | | | | | | |
| 9x | | j 006A | k 006B | l 006C | m 006D | n 006E | o 006F | p 0070 | q 0071 | r 0072 | | | | | | |
| Ax | ~ 007E | ¯ 00AF | s 0073 | t 0074 | u 0075 | v 0076 | w 0077 | x 0078 | y 0079 | z 007A | | | | | | |
| Bx | ^ 005E | | \ 005C | | | | | | | | [ 005B | ] 005D | | | | |
| Cx | { 007B | A 0041 | B 0042 | C 0043 | D 0044 | E 0045 | F 0046 | G 0047 | H 0048 | I 0049 | | | | | | |
| Dx | } 007D | J 004A | K 004B | L 004C | M 004D | N 004E | O 004F | P 0050 | Q 0051 | R 0052 | | | | | | |
| Ex | $ 0024 | | S 0053 | T 0054 | U 0055 | V 0056 | W 0057 | X 0058 | Y 0059 | Z 005A | | | | | | |
| Fx | 0 0030 | 1 0031 | 2 0032 | 3 0033 | 4 0034 | 5 0035 | 6 0036 | 7 0037 | 8 0038 | 9 0039 | | | | | | EO |

## References

* ↑ "CCSID 836 information document". Archived from the original on 2016-03-26.
* ↑ "Code page 836 information document". Archived from the original on 2017-01-16.
* ↑ Code Page CPGID 00836 (pdf) (PDF), IBM
* ↑ Code Page CPGID 00836 (txt), IBM
# Character Encodings/Code Tables/EBCDIC/EBCDIC 880

IBM code page 880 (CCSID 880) is an EBCDIC code page that supports Cyrillic used in IBM mainframes in Russia, Bosnia and Herzegovina, Bulgaria, North Macedonia, Montenegro, and Serbia. A revision is EBCDIC 1025. EBCDIC 880 is a revision of EBCDIC 410 to cover all of ASCII.

## Codepage layout

Characters are shown with their equivalent Unicode codes.
EBCDIC 880 :
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
| 0x | NUL | SOH | STX | ETX | SEL | HT | RNL | DEL | GE | SPS | RPT | VT | FF | CR | SO | SI |
| 1x | DLE | DC1 | DC2 | DC3 | RES/ ENP | NL | BS | POC | CAN | EM | UBS | CU1 | IFS | IGS | IRS | ITB |
| 2x | DS | SOS | FS | WUS | BYP/ INP | LF | ETB | ESC | SA | SFE | SM/ SW | CSP | MFA | ENQ | ACK | BEL |
| 3x | | | SYN | IR | PP | TRN | NBS | EOT | SBS | IT | RFF | CU3 | DC4 | NAK | | SUB |
| 4x | SP | NBSP | ђ 0452 | ѓ 0453 | ё 0451 | є 0454 | ѕ 0455 | і 0456 | ї 0457 | ј 0458 | [ 005B | . 002E | < 003C | ( 0028 | + 002B | ! 0021 |
| 5x | & 0026 | љ 0459 | њ 045A | ћ 045B | ќ 045C | ў 045E | џ 045F | Ъ 042A | № 2116 | Ђ 0402 | ] 005D | $ 0024 | * 002A | ) 0029 | ; 003B | ^ 005E |
| 6x | - 002D | / 002F | Ѓ 0403 | Ё 0401 | Є 0404 | Ѕ 0405 | І 0406 | Ї 0407 | Ј 0408 | Љ 0409 | | 007C | , 002C | % 0025 | _ 005F | > 003E | ? 003F |
| 7x | Њ 040A | Ћ 040B | Ќ 040C | SHY | Ў 040E | Џ 040F | ю 044E | а 0430 | б 0431 | ` 0060 | : 003A | # 0023 | @ 0040 | ' 0027 | = 003D | " 0022 |
| 8x | ц 0446 | a 0061 | b 0062 | c 0063 | d 0064 | e 0065 | f 0066 | g 0067 | h 0068 | i 0069 | д 0434 | е 0435 | ф 0444 | г 0433 | х 0445 | и 0438 |
| 9x | й 0439 | j 006A | k 006B | l 006C | m 006D | n 006E | o 006F | p 0070 | q 0071 | r 0072 | к 043A | л 043B | м 043C | н 043D | о 043E | п 043F |
| Ax | я 044F | ~ 007E | s 0073 | t 0074 | u 0075 | v 0076 | w 0077 | x 0078 | y 0079 | z 007A | р 0440 | с 0441 | т 0442 | у 0443 | ж 0436 | в 0432 |
| Bx | ь 044C | ы 044B | з 0437 | ш 0448 | э 044D | щ 0449 | ч 0447 | ъ 044A | Ю 042E | А 0410 | Б 0411 | Ц 0426 | Д 0414 | Е 0415 | Ф 0424 | Г 0413 |
| Cx | { 007B | A 0041 | B 0042 | C 0043 | D 0044 | E 0045 | F 0046 | G 0047 | H 0048 | I 0049 | Х 0425 | И 0418 | Й 0419 | К 041A | Л 041B | М 041C |
| Dx | } 007D | J 004A | K 004B | L 004C | M 004D | N 004E | O 004F | P 0050 | Q 0051 | R 0052 | Н 041D | О 041E | П 041F | Я 042F | Р 0420 | С 0421 |
| Ex | \ 005C | ¤ 00A4 | S 0053 | T 0054 | U 0055 | V 0056 | W 0057 | X 0058 | Y 0059 | Z 005A | Т 0422 | У 0423 | Ж 0416 | В 0412 | Ь 042C | Ы 042B |
| Fx | 0 0030 | 1 0031 | 2 0032 | 3 0033 | 4 0034 | 5 0035 | 6 0036 | 7 0037 | 8 0038 | 9 0039 | З 0417 | Ш 0428 | Э 042D | Щ 0429 | Ч 0427 | EO |
| Differences from EBCDIC 410 |||||||||||||||||

## References

* ↑ "CCSID 880 information document". Archived from the original on 2016-03-27.
* ↑ "Code page 880 information document". Archived from the original on 2016-03-17.
* ↑ Code Page CPGID 00880 (PDF), IBM
* ↑ Code Page CPGID 00880 (txt), IBM
# Diablo Canyon Nuclear Power Plant: The WikiBook/Alliance for Nuclear Responsibility Overview

Alliance for Nuclear Responsibility is a non-profit public interest organization founded in 2005 and based in San Luis Obispo, California, which is focused on public citizen activism and public participation with regard to the Diablo Canyon Power Plant, which some people also call the Diablo Canyon Nuclear Power Plant. The focus of the group is primarily on using leverage at the level of state agencies such as the California Public Utilities Commission. Concurrent jurisdiction of their concern also includes the California Coastal Commission which certifies compliance of all action within the coastal zone which thus includes the plant. Their posture is primarily oppositional.Other venues for activism include Rochelle has testified before the Nuclear Regulatory Commission, California Energy Commission, Regional Water Quality Control Board, SLO County, the California legislature, the office of the state attorney general and the US Congress, of which they are in the 23rd District.
Rochelle Becker is a co-founder and the current executive director and contentds experience on nuclear safety issues for 35 years. According to the Alliance website, she is on a California state review committee analyzing water-related impacts from aging reactors, and has met with NRC Chairman Gregory Jaczko to discuss the position of the Alliance. She is also active on issues pertaining to the San Onofre Nuclear Generating Station (SONGS).
David Weisman is also active with the Alliance and recently has interviewed widely with respect to the Fukushima aftermath. Mr. Weisman asserts that the Alliance is pro-labor and in support of jobs. He asserts that nuclear power is not economical. The Alliance distinguishes itself in this regard from organizations such as the Sierra Club, which are primarily focused on the environmental impacts of nuclear power. He recently appeared at a Nuclear Regulatory Commission presentations in San Luis Obispo and Santa Barbara counties on June 15 and 16th, respectively.

## See also

California Public Policy and Citizen Participation =
* ↑ http://everythingnuclear.org/
* ↑ a4nr.org
* ↑ http://www.nukefree.org/node/181
* ↑ Santa Barbara County Board of Supervisors Archived Minutes - upgraded citation pending
# Diablo Canyon Nuclear Power Plant: The WikiBook/April 2011 Rally at the plant

According to Indymedia, a grass roots media project, protesters rallied on the weekend of April 16th demanding the closure of "Diablo Canyon Nuclear Power Plant". The article claimed that over 300 people gathered for the protest at Avila Beach in San Luis Obispo County. They also insisted that the Nuclear Regulatory Commission must halt PG&E's relicensing application process for the structure.The article continued to assert that the group Mothers for Peace was behind the fight to stop the construction of the nuclear power plant in the 1970s and was the organizer of Saturday's rally as well. Jane Swanson, speaking on behalf of the anti-nuclear organization, said that her group spearheaded the rally in response to the Fukushima nuclear disaster in Japan. She commented from the podium, "Mothers for Peace said in 1973 a workable evacuation plan is not possible at Diablo Canyon and in 2011 this is still true. It is time to shut it down". The crowd raised their voices in agreement, shouting "Shut it Down!" over and over.
# Diablo Canyon Nuclear Power Plant: The WikiBook/Bernie Sanders

Following the 2011 Japanese nuclear accidents,US Senator Bernie Sanders called for a moratorium on the licensing of new nuclear plants and relicensing of existing ones, in an effort to slow down what's been touted as a nuclear renaissance in the United States. Sanders wrote to President Barack Obama asking for him to appoint a special commission to review the safety of U.S. nuclear plants. Sanders also wants to repeal a federal law that he says leaves the taxpayers to pick up most of the costs of a major nuclear accident. He says "in a free-enterprise system, the nuclear industry should be required to insure itself against accidents".

## Background

Bernard "Bernie" Sanders (born September 8, 1941) is the junior Senator from Vermont. Previously, Sanders represented Vermont's at-large district in the United States House of Representatives. Sanders also served as mayor of Burlington. Sanders is a self-described democratic socialism, and has praised European social democracy. He is the first person elected to the U.S. Senate to identify as a socialist. Sanders Congressional caucus with the Democratic Party and is counted as a Democrat for the purposes of committee assignments, but because he does not belong to a formal political party, he appears as an |independent on the ballot. He was also the only independent member of the House during much of his service there.
* 1 2 "US Sen. Sanders: Slow down on nuclear relicensing". Businessweek. March 21, 2011.
* ↑ "Sanders Socialist Success". April 22, 2009. Retrieved April 19, 2010.
* ↑ Lerer, Lisa (July 16, 2009). "Where's the outrage over AIG bonuses?". The Politico. Retrieved April 19, 2010.
* ↑ Borger, Julian (2006-11-08). "Democrats pile pressure on Bush as glitches hit US poll". Guardian. http://www.guardian.co.uk/frontpage/story/0,,1942041,00.html. Retrieved 2006-11-08.
# Diablo Canyon Nuclear Power Plant: The WikiBook/Contributors

Attributions to material imported from Wikipedia are available by clicking History link. On certain pages, importing may have failed on numerous occasions. In those instances, every effort has been made to exceed the minimal CC-BY-SA 3.0 and GFDL licensing protocols.
Many people wrote Wikipedia articles which were imported to Wikibooks by Geof Bard with the aid of administrators Adrignola and Quite Unusual. Matisse and other users to be enumerated also provided assistance. The original introduction and many of the Wikipedia articles were written from scratch also by Geof. The article writers user names can be viewed by clicking View history. If you contribute and would like to be listed please add your name to this section.
# Chess Opening Theory/1. e4/1...f5/2. exf5
## Duras Gambit Accepted

The Duras Gambit Accepted is a chess opening that arises from the Duras Gambit after the moves 1.e4 f5 2.exf5. This move is a gambit, where Black sacrifices a pawn to gain control of the center of the board. The idea behind this move is to create an unbalanced position and put pressure on White's position.
However, this gambit is not considered a good choice at the highest levels of chess, as it gives White a clear advantage. After 2.exf5, White can choose to accept the gambit and capture the pawn, or decline it and play a different move ¹. If White accepts the gambit, they can gain a material advantage and put pressure on Black's position. For example, White can play 3.Qh5+ to attack Black's king and force it to move. Because if 3...g6?? - 4. fxg6! hxg6 5. Qxh8, grabbing a rook and the game.
1. e4 f5? 2. exf5
# Borg Defence: Symmetric Variation
#### ECO:B00

Symmetric Variation.
# Chess Opening Theory/1. e4/1...g6/2. d4/2...Bg7/3. Nc3
## Modern Defence, Main Line

This the main line of the Modern Defence. Here Black has allowed White to have a classical pawn duo on e4 and d4. Black must have a plan to attack back or they will be steamrolled.
The most common reply is 3...d6. Here Black attempts to undermine the center through a hypermodern approach.
A more passive approach is 3...c6.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation.
1. e4 g6 2. d4 Bg7 3. Nc3
| 3 | 4 |
| … d6 | Be3 a6 | = |
| … c6 | Nf3 | = |
# Barnes Defence
### 1...f6?!

The Barnes Defence is considered a very poor move, as it opens no lines for Black to develop his pieces, allows White free and easy development, deprives the g8 knight of its most natural square (f6), and weakens the position of the black king. It does attack a central square, e5, but 1...d6, or even 1... Nc6 are better moves to attack this square. Alternatively, 1...e5, occupying the square immediately, is considered one of Black's most reliable moves. Barnes Defense is named after Thomas Wilson Barnes, an English master who, amazingly, defeated one of the greatest players of the time, Paul Morphy, with it in an offhand game played in London in July 1858.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation.
1. e4 f6?
| | 2 | 3 | 4 |
| Speers Gambit | d4 b6 | c4 Bb7 | +/= |
| | ... e6 | +/= |
| | ... e5 | dxe5 Nc6 | +/= |
| Fried Fox Defence | ... Kf7?! | +/= |
| Fool's Mate | ... g5?? | Qh5# - |
| Pseudo-Fool's Mate | ... h6?? | Qh5+ g6 | Qxg6# - |
When contributing to this Wikibook, please follow the Conventions for organization.

## References

* Nunn's Chess Openings. 1999. John Nunn (Editor), Graham Burgess, John Emms, Joe Gallagher. ISBN 1-8574-4221-0.
* Modern Chess Openings: MCO-14. 1999. Nick de Firmian, Walter Korn. ISBN 0-8129-3084-3.
# Borg Defence
### 1...g5?!

The Borg (Grob spelt backwards) or Basmaniac Defence. A rare defence that Michael Basman employed in the 1980 British Championship. Although this move is generally considered inferior and weakens the kingside severely, according to Modern Chess Openings, Black is only somewhat worse.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation.
1. e4 g5?!
| 2 | 3 | 4 |
| d4 h6 | Bd3 d6 | Ne2 c5 | +/= |
When contributing to this Wikibook, please follow the Conventions for organization.

## References

* Kasparov, Garry, & Keene, Raymond 1989 Batsford chess openings 2. ISBN 0-8050-3409-9.
# Modern Defence

White now has several choices of pawn structure to adopt. The most flexible move is 3. Nc3, giving White some time before deciding. However, it denies the access to the Averbakh Variation (3. c4), the Geller's System(3. c3 and 4. Nf3) and the Three Pawns Attack (3. c3 and 4. f4).
3. Nf3 is also possible and will transpose early into the other variations. 3. h4 is an attacking move that was discovered by Bobby Fischer. It aims to weaken Black's kingside pawn structure and make Black's king more vulnerable. Black may have difficulties castling in some lines arising from this move.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation. .
1. e4 g6 2. d4 Bg7
| | 3 | 4 | 5 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| Main Variation | Nc3 - | = |
| | c3 - | = |
| | h4 - | = |
| Averbakh Variation | c4 - | = |
| | Nf3 - | = |
| | e5 d6 | Nf3 Bg4 | exd6 Qxd6 | c3 Nc6 | Be2 Bxf3 | Bxf3 Rd8 | Qe2 Nf6 | Na3 a6 | Nc4 Qd7 | Bf4 0-0 | 0-0-0 Nd5 | = |
When contributing to this Wikibook, please follow the Conventions for organization.
# Goldsmith Defense/Pickering Defence/Rook Gambit/Reversed Kadas Variation
### 1...h5?!

The Goldsmith Defence, also known as Rook Gambit, is a rare and weak response to 1. e4. This is a rather useless move that does nothing to control the centre and seriously weakens Black’s kingside. It threatens to bring the h-Rook into the game but can be easily stopped with 2.d4, and White is already in control of the centre and has a better activity on pieces.
Overall, this defence is not good and is never seen in serious play, but this opening can be funny and useful for trolling in a chess game.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation.
1. e4 h5?!
| | 2 |
| Pickering Defence | d4 Nf6 | +/= |
When contributing to this Wikibook, please follow the Conventions for organization.

## References

* Modern Chess Openings: MCO-14. 1999. Nick de Firmian, Walter Korn. ISBN 0-8129-3084-3.
# Modern Defense

White has established his center and Black is planning to destroy it from a distance. He may play an immediate 2...Bg7 or delay it and play 2...d6.
A transposition to the Caro-Kann is possible by playing 2...c6.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation.
1. e4 g6 2. d4
| | 2 | 3 | 4 |
| Modern Defense | d4 Bg7 | Nc3 d6 | Be3 a6 | = |
| Caro-Kann Defense | ... c6 | Nc3 d5 | h3 Bg7 | = |
| Pirc Defense | ... d6 | Nc3 Nf6 | Nf3 Bg7 | = |
When contributing to this Wikibook, please follow the Conventions for organization.

## References

* Nunn's Chess Openings. 1999. John Nunn (Editor), Graham Burgess, John Emms, Joe Gallagher. ISBN 1-8574-4221-0.
* Kasparov, Garry, & Keene, Raymond 1989 Batsford chess openings 2. ISBN 0-8050-3409-9.
# Carr Defence
### 1...h6

A mirrored St. George Defence, this defence is considered a very weak response to the King's Pawn Opening, as not only does it not open any lines for development and allows White quick and easy development, it additionally weakens Black's king position slightly and is a time wasting move. Black often follows up with g5, Bg7, d6, and Bg4 or Bf5. Generally, Black castles queenside in the Carr Defence.

## Theory table

For explanation of theory tables, see theory table and for notation, see algebraic notation.
1. e4 h6?!
| | 2 |
| Zilbermints Gambit | d4 e5?! | ± |
When contributing to this Wikibook, please follow the Conventions for organization.

## References

* Eric Schiller (2002). Unorthodox Chess Openings (Second Edition ed.). Cardoza. ISBN 1-58042-072-9. {{cite book}}: |edition= has extra text (help), p. 104
* Modern Chess Openings: MCO-14. 1999. Nick de Firmian, Walter Korn. ISBN 0-8129-3084-3.
# Computer Science Design Patterns/Memento

Briefly, the Originator (the object to be saved) creates a snap-shot of itself as a Memento object, and passes that reference to the Caretaker object. The Caretaker object keeps the Memento until such a time as the Originator may want to revert to a previous state as recorded in the Memento object.
The following Java program illustrates the "undo" usage of the Memento Pattern.
The output is:

## C# Example
## Another way to implement memento in C#

Output:
# Computer Science Design Patterns/Proxy

Control the access to an object.
The example creates first an interface against which the pattern creates the classes. This interface contains only one method to display the image, called displayImage, that has to be coded by all classes implementing it.
The proxy class ProxyImage is running on another system than the real image class itself and can represent the real image RealImage over there. The image information is accessed from the disk. Using the proxy pattern, the code of the ProxyImage avoids multiple loading of the image, accessing it from the other system in a memory-saving manner.
Output
Notes:
* A proxy may hide information about the real object to the client.
* A proxy may perform optimization like on demand loading.
* A proxy may do additional house-keeping job like audit tasks.
* Proxy design pattern is also known as surrogate design pattern.
Another example:
The program's output is:
Output
Usage
Output
The following Java example illustrates the "virtual proxy" pattern. The ProxyImage class is used to access a remote method.
The example creates first an interface against which the pattern creates the classes. This interface contains only one method to display the image, called displayImage, that has to be coded by all classes implementing it.
The proxy class ProxyImage is running on another system than the real image class itself and can represent the real image RealImage over there. The image information is accessed from the disk. Using the proxy pattern, the code of the ProxyImage avoids multiple loading of the image, accessing it from the other system in a memory-saving manner. The lazy loading demonstrated in this example is not part of the proxy pattern, but is merely an advantage made possible by the use of the proxy.
Output
Output
More advanced proxies involve the Proxy object, which can intercept and redefine fundamental operations such as accessing properties. The handler functions in this case are sometimes called traps.
Output
Output
Output
# Computer Science Design Patterns/Mediator

This pattern defines an object that encapsulates how a set of objects interact. Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their interaction independently. This pattern helps to model a class whose object at run-time is responsible for controlling and coordinating the interactions of a group of other objects.

## Participants

Mediator — defines the interface for communication between Colleague objects. ConcreteMediator — implements the Mediator interface and coordinates communication between Colleague objects. It is aware of all the Colleagues and their purpose with regards to inter communication. ConcreteColleague — communicates with other Colleagues through its Mediator.

## Cost

This pattern is not expensive because there is not much constraint on it.

### Creation

This pattern is easy to create.

### Maintenance

This pattern is easy to maintain.

### Removal

Each object can easily be transformed to another structure using refactoring.

## Advises

* Put the mediator term in the name of the iterator class to indicate the use of the pattern to the other developers.