mirror of
https://github.com/skoelle/buildbroken-blog-archive.git
synced 2026-09-17 18:30:25 +00:00
706 lines
101 KiB
HTML
706 lines
101 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<!-- saved from url=(0115)https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/ -->
|
|
<html xmlns="http://www.w3.org/1999/xhtml" class=" pptoapqbf idc0_350"><head profile="http://gmpg.org/xfn/11"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script src="./plugin-pattern_files/athena.js.Download" type="text/javascript"></script>
|
|
<script type="text/javascript">window.addEventListener('DOMContentLoaded',function(){var v=archive_analytics.values;v.service='wb';v.server_name='wwwb-app217.us.archive.org';v.server_ms=291;archive_analytics.send_pageview({});});</script>
|
|
<script type="text/javascript" src="./plugin-pattern_files/bundle-playback.js.Download" charset="utf-8"></script>
|
|
<script type="text/javascript" src="./plugin-pattern_files/wombat.js.Download" charset="utf-8"></script>
|
|
<script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script>
|
|
<script type="text/javascript" src="./plugin-pattern_files/ruffle.js.Download"></script>
|
|
<script type="text/javascript">
|
|
__wm.init("https://web.archive.org/web");
|
|
__wm.wombat("http://blog.aztec-project.org:80/2009/06/05/umsetzung-des-plug-in-patterns/","20100119021618","https://web.archive.org/","web","/_static/",
|
|
"1263867378");
|
|
</script>
|
|
<link rel="stylesheet" type="text/css" href="./plugin-pattern_files/banner-styles.css">
|
|
<link rel="stylesheet" type="text/css" href="./plugin-pattern_files/iconochive.css">
|
|
<!-- End Wayback Rewrite JS Include -->
|
|
|
|
|
|
|
|
<title>build broken » Umsetzung des Plug-In-Patterns</title>
|
|
|
|
<meta name="generator" content="WordPress abc">
|
|
<meta name="theme" content="Mandigo 1.41">
|
|
|
|
<link rel="stylesheet" href="./plugin-pattern_files/style.css" type="text/css" media="screen">
|
|
<style type="text/css">
|
|
|
|
body {
|
|
font-family: Arial, Sans-Serif;
|
|
background-color: #44484F;
|
|
}
|
|
|
|
a {
|
|
font-weight: bold;
|
|
}
|
|
|
|
.narrowcolumn .entry, .widecolumn .entry {
|
|
line-height: 1.4em;
|
|
}
|
|
|
|
.inline-widgets #wp-calendar caption, .blogname, .blogdesc {
|
|
font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif;
|
|
}
|
|
|
|
.blogname {
|
|
font-size: 4em;
|
|
margin-top: 15px;
|
|
}
|
|
|
|
.posttitle, #comments, #respond .title, #respond.pre27, #trackbacks {
|
|
font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif;
|
|
}
|
|
|
|
.commentlist li, #commentform input, #commentform textarea {
|
|
font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
|
|
}
|
|
|
|
#commentform p {
|
|
font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
|
|
}
|
|
|
|
.sidebars {
|
|
font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
|
|
}
|
|
|
|
|
|
#page {
|
|
width: 987px;
|
|
}
|
|
|
|
#header {
|
|
background: url(https://web.archive.org/web/20100119021618im_/http://blog.aztec-project.org/wp-content/themes/mandigo/images/header-1024.png);
|
|
height: 243px;
|
|
width: 987px;
|
|
}
|
|
|
|
#headerimg {
|
|
height: 226px;
|
|
width: 961px;
|
|
background: url(https://web.archive.org/web/20100119021618im_/http://blog.aztec-project.org/wp-content/themes/mandigo/schemes/orange/images/head-1024.jpg) bottom center no-repeat;
|
|
}
|
|
|
|
#main {
|
|
background: url(https://web.archive.org/web/20100119021618im_/http://blog.aztec-project.org/wp-content/themes/mandigo/images/bg-1024.png);
|
|
width: 957px;
|
|
}
|
|
|
|
#footer {
|
|
background: url(https://web.archive.org/web/20100119021618im_/http://blog.aztec-project.org/wp-content/themes/mandigo/images/foot-1024.png);
|
|
}
|
|
|
|
.post {
|
|
text-align: justify;
|
|
background: #FAFAFA;
|
|
border: 1px solid #EEEEEE;
|
|
}
|
|
|
|
|
|
#footer {
|
|
width: 987px;
|
|
}
|
|
|
|
|
|
.sidebars {
|
|
background: #EEEEEE;
|
|
border: 1px solid #DDDDDD;
|
|
}
|
|
|
|
#sidebar1 .sidebars {
|
|
width: 210px;
|
|
}
|
|
|
|
#sidebar2 .sidebars {
|
|
width: 210px;
|
|
}
|
|
|
|
|
|
.entry img {
|
|
float: none;
|
|
}
|
|
|
|
.sidebars li {
|
|
list-style-image: url(https://web.archive.org/web/20100119021618im_/http://blog.aztec-project.org/wp-content/themes/mandigo/schemes/orange/images/star.gif);
|
|
}
|
|
|
|
.commentlist {
|
|
}
|
|
|
|
.commentlist li {
|
|
list-style: none;
|
|
}
|
|
|
|
#wp-calendar {
|
|
margin: 0 !important; margin-top: -1.5em;
|
|
}
|
|
|
|
#wp-calendar caption {
|
|
margin-top: -1.4em;
|
|
}
|
|
|
|
/* dirty fix for the event calendar plugin */
|
|
div#wp-calendar .nav {
|
|
margin: 0;
|
|
}
|
|
/* end dirty fix */
|
|
|
|
.datestamp div {
|
|
font-family: 'Lucida Grande', 'Lucida Sans Unicode', Arial, Sans-Serif;
|
|
}
|
|
|
|
.cal3 {
|
|
}
|
|
|
|
.pages {
|
|
text-align: right;
|
|
}
|
|
|
|
.pages ul li.has_sub {
|
|
background: url(https://web.archive.org/web/20100119021618im_/http://blog.aztec-project.org/wp-content/themes/mandigo/images/icons/bullet_arrow_right.png) no-repeat center right;
|
|
}
|
|
|
|
.head_overlay {
|
|
background: url(https://web.archive.org/web/20100119021618im_/http://blog.aztec-project.org/wp-content/themes/mandigo/images/head_overlay.png);
|
|
}
|
|
|
|
|
|
|
|
|
|
</style>
|
|
<link rel="stylesheet" href="./plugin-pattern_files/scheme.css" type="text/css" media="screen">
|
|
<link rel="alternate" type="application/rss+xml" title="build broken RSS Feed" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/feed/">
|
|
<link rel="pingback" href="https://blog.aztec-project.org/xmlrpc.php">
|
|
|
|
<link rel="alternate" type="application/rss+xml" title="build broken » Umsetzung des Plug-In-Patterns Kommentar Feed" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/feed/">
|
|
<script type="text/javascript" src="./plugin-pattern_files/comment-reply.js.Download"></script>
|
|
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://blog.aztec-project.org/xmlrpc.php?rsd">
|
|
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://blog.aztec-project.org/wp-includes/wlwmanifest.xml">
|
|
<link rel="index" title="build broken" href="https://blog.aztec-project.org/">
|
|
<link rel="start" title="Umsetzung des Plug-In-Patterns" href="https://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/">
|
|
<link rel="next" title="Dynamisches Laden von Assemblies" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/dynamisches-laden-von-assemblies/">
|
|
<style type="text/css">
|
|
.addtoany_share_save_container{margin:16px 0;}
|
|
ul.addtoany_list{
|
|
display:inline;
|
|
list-style-type:none;
|
|
margin:0 !important;
|
|
padding:0 !important;
|
|
text-indent:0 !important;
|
|
}
|
|
ul.addtoany_list li{
|
|
background:none !important;
|
|
border:0;
|
|
display:inline !important;
|
|
line-height:32px; list-style-type:none;
|
|
margin:0 !important;
|
|
padding:0 !important;
|
|
}
|
|
ul.addtoany_list li:before{content:"";}
|
|
ul.addtoany_list li a{padding:0 9px;}
|
|
ul.addtoany_list img{
|
|
float:none;
|
|
border:0;
|
|
margin:0;
|
|
padding:0;
|
|
vertical-align:middle;
|
|
}
|
|
ul.addtoany_list a img{
|
|
opacity:.6;
|
|
-moz-opacity:.6;
|
|
filter:alpha(opacity=60);
|
|
}
|
|
ul.addtoany_list a:hover img, ul.addtoany_list a.addtoany_share_save img{
|
|
opacity:1;
|
|
-moz-opacity:1;
|
|
filter:alpha(opacity=100);
|
|
}
|
|
a.addtoany_share_save img{border:0;width:auto;height:auto;} </style>
|
|
|
|
<script type="text/javascript" src="./plugin-pattern_files/jquery.js.Download"></script>
|
|
<script type="text/javascript" src="./plugin-pattern_files/jquery.ifixpng.js.Download"></script>
|
|
<script type="text/javascript">jQuery.noConflict();</script>
|
|
|
|
<style type="text/css">
|
|
.entry img, .entry embed, .entry object { max-width: 880px; width: expression(this.clientWidth > 880 ? 880 : true); }
|
|
.entry img { height: auto; }</style>
|
|
|
|
<script charset="UTF-8" src="./plugin-pattern_files/de.js.Download"></script><style type="text/css">.a2a_menu *{margin:0;padding:0}.a2a_menu,.a2a_menu_border{display:none;z-index:9999999;position:absolute;margin:0;padding:0;-webkit-border-radius:16px;-moz-border-radius:16px}.a2a_menu{display:none;direction:ltr;min-width:200px;background-color:#FAFAFA;font:12px Arial,Helvetica,sans-serif;color:#000;line-height:12px;border:1px solid #AECADB;vertical-align:baseline;padding:8px;overflow:hidden}.a2a_menu_border{border:1px solid #FAFAFA;background-color:#FAFAFA;opacity:.6;filter:alpha(opacity=60)}.a2a_menu a,#a2a_hist_list a,.a2a_tabs div{color:#FF9B2A;text-decoration:none;font:12px Arial,Helvetica,sans-serif;line-height:12px;height:auto;width:auto;clear:none;outline:none;-moz-outline:none;-webkit-border-radius:8px;-moz-border-radius:8px}.a2a_menu a:visited,#a2a_hist_list a:visited{color:#FF9B2A;clear:right}.a2a_menu a:hover,.a2a_menu a:active,.a2a_menu a.a2a_i:focus,.a2a_tabs div:hover{color:#FF9B2A;border:1px solid #AECADB;background-color:#FAFAFA;text-decoration:none}.a2a_menu img,.a2a_menu a img, a.a2a_ind img{width:16px;height:16px;border:0;padding:0;background:url(https://web.archive.org/web/20100106150210/http://static.addtoany.com/menu/icons_18.png) no-repeat}.a2a_menu img{display:inline;vertical-align:middle;margin:0 4px 2px 0}.a2a_menu img.a2a_i_find{position:absolute;left:5px;top:2px}.a2a_menu_title_container{display:none;margin-bottom:2px;padding:6px}.a2a_menu_find_container{position:relative;text-align:left;margin:4px 1px;padding:1px 24px 1px 0;border:1px solid #FF9B2A;-webkit-border-radius:8px;-moz-border-radius:8px}input.a2a_menu_title{display:block;color:#FF9B2A;background-color:#FAFAFA;border:0;margin:0;padding:0;width:100%}input.a2a_menu_find{display:block;position:relative;left:24px;color:#FF9B2A;font-size:12px;padding:2px 0;outline:0;border:0;background-color:transparent;_background-color:#FAFAFA;width:250px}.a2a_cols{width:50%;vertical-align:top;margin:0;padding:0;border:0;background-color:transparent;_background-color:#FAFAFA}.a2a_cols_container tbody{border:0}.a2a_cols_container{border-collapse:collapse;border-spacing:0;border:0;width:auto;margin:0;padding:0}.a2a_clear{clear:both}.a2a_hr{margin:0 12px 12px;padding:1px;background:none;background-color:#FAFAFA}.a2a_nowrap{white-space:nowrap}.a2a_note{margin:0 auto;padding:9px;font-size:11px;text-align:center}.a2a_note .a2a_note_note{margin:0 0 9px;color:#FF9B2A}.a2a_wide a{display:block;margin-top:3px;border:1px solid #FAFAFA;padding:3px;text-align:center}.a2a_tabs{float:left;margin:0 0 3px}.a2a_tabs a,.a2a_tabs div{margin:1px;background-color:#FAFAFA;border:1px solid #FAFAFA;font-size:11px;padding:6px 12px 2px;white-space:nowrap}.a2a_tabs a img, .a2a_tabs div img{margin-bottom:4px}.a2a_tabs a, .a2a_tabs a:visited, .a2a_tabs a:hover, .a2a_tabs div, .a2a_tabs div:hover{cursor:pointer;border-bottom:1px solid #FAFAFA;color:#FF9B2A;-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0}a.a2a_tab_selected,a.a2a_tab_selected:visited,a.a2a_tab_selected:hover,a.a2a_tab_selected:active,a.a2a_tab_selected:focus, div.a2a_tab_selected,div.a2a_tab_selected:hover{color:#FF9B2A;background-color:#FAFAFA;border:1px solid #AECADB;border-bottom:1px solid #FAFAFA}a.a2a_i{display:block;padding:4px 6px 2px;border:1px solid #FAFAFA;text-align:left;white-space:nowrap}a.a2a_sss{font-weight:700}a.a2a_ind{display:inline;margin:0;padding:0}a.a2a_emailer{display:inline-block;border:1px solid #EEE;margin:0 9px;text-align:center}a.a2a_menu_show_more_less{margin:4px 0 8px;padding:0}a.a2a_menu_show_more_less img{vertical-align:baseline;height:12px}a.a2a_menu_powered_by,a.a2a_menu_powered_by:visited{background-color:#FAFAFA;font-size:9px;color:#FF9B2A}.a2a_i_agregator{background-position:0 0 !important}.a2a_i_aiderss{background-position:0 -17px !important}.a2a_i_aim{background-position:0 -34px !important}.a2a_i_allvoices{background-position:0 -51px !important}.a2a_i_amazon{background-position:0 -68px !important}.a2a_i_aol{background-position:0 -85px !important}.a2a_i_apple_mail{background-position:0 -102px !important}.a2a_i_arto{background-position:0 -119px !important}.a2a_i_ask{background-position:0 -136px !important}.a2a_i_avantgo{background-position:0 -153px !important}.a2a_i_backflip{background-position:0 -170px !important}.a2a_i_bebo{background-position:0 -187px !important}.a2a_i_bibsonomy{background-position:0 -204px !important}.a2a_i_bitty{background-position:0 -221px !important}.a2a_i_blinklist{background-position:0 -238px !important}.a2a_i_blogger{background-position:0 -255px !important}.a2a_i_bloglines{background-position:0 -272px !important}.a2a_i_blogmarks{background-position:0 -289px !important}.a2a_i_blogrovr{background-position:0 -306px !important}.a2a_i_bookmark{background-position:0 -323px !important}.a2a_i_bookmarks_fr{background-position:0 -340px !important}.a2a_i_box{background-position:0 -357px !important}.a2a_i_buddymarks{background-position:0 -374px !important}.a2a_i_buzmob{background-position:0 -391px !important}.a2a_i_buzz{background-position:0 -408px !important}.a2a_i_bzzster{background-position:0 -425px !important}.a2a_i_care2{background-position:0 -442px !important}.a2a_i_citeulike{background-position:0 -459px !important}.a2a_i_clear{background-position:0 -476px !important}.a2a_i_connotea{background-position:0 -493px !important}.a2a_i_current{background-position:0 -510px !important}.a2a_i_dailyme{background-position:0 -527px !important}.a2a_i_dailyrotation{background-position:0 -544px !important}.a2a_i_darr{background-position:0 -561px !important}.a2a_i_darr_wt{background-position:0 -578px !important}.a2a_i_default{background-position:0 -595px !important}.a2a_i_delicious{background-position:0 -612px !important}.a2a_i_designfloat{background-position:0 -629px !important}.a2a_i_digg{background-position:0 -646px !important}.a2a_i_diglog{background-position:0 -663px !important}.a2a_i_diigo{background-position:0 -680px !important}.a2a_i_dzone{background-position:0 -697px !important}.a2a_i_email{background-position:0 -714px !important}.a2a_i_eskobo{background-position:0 -731px !important}.a2a_i_evernote{background-position:0 -748px !important}.a2a_i_excitemix{background-position:0 -765px !important}.a2a_i_expression{background-position:0 -782px !important}.a2a_i_facebook{background-position:0 -799px !important}.a2a_i_fark{background-position:0 -816px !important}.a2a_i_faves{background-position:0 -833px !important}.a2a_i_feed{background-position:0 -850px !important}.a2a_i_feedblitz{background-position:0 -867px !important}.a2a_i_feedbucket{background-position:0 -884px !important}.a2a_i_feedlounge{background-position:0 -901px !important}.a2a_i_feedm8{background-position:0 -918px !important}.a2a_i_feedmailer{background-position:0 -935px !important}.a2a_i_feedreader_net{background-position:0 -952px !important}.a2a_i_feedshow{background-position:0 -969px !important}.a2a_i_find{background-position:0 -986px !important}.a2a_i_fireant{background-position:0 -1003px !important}.a2a_i_flurry{background-position:0 -1020px !important}.a2a_i_folkd{background-position:0 -1037px !important}.a2a_i_foxiewire{background-position:0 -1054px !important}.a2a_i_friendfeed{background-position:0 -1071px !important}.a2a_i_friendster{background-position:0 -1088px !important}.a2a_i_funp{background-position:0 -1105px !important}.a2a_i_furl{background-position:0 -1122px !important}.a2a_i_fwicki{background-position:0 -1138px !important}.a2a_i_gabbr{background-position:0 -1155px !important}.a2a_i_global_grind{background-position:0 -1172px !important}.a2a_i_gmail{background-position:0 -1189px !important}.a2a_i_google{background-position:0 -1206px !important}.a2a_i_healthranker{background-position:0 -1223px !important}.a2a_i_hellotxt{background-position:0 -1240px !important}.a2a_i_hemidemi{background-position:0 -1257px !important}.a2a_i_hi5{background-position:0 -1274px !important}.a2a_i_hubdog{background-position:0 -1291px !important}.a2a_i_hugg{background-position:0 -1308px !important}.a2a_i_hyves{background-position:0 -1325px !important}.a2a_i_identica{background-position:0 -1342px !important}.a2a_i_im{background-position:0 -1359px !important}.a2a_i_imera{background-position:0 -1376px !important}.a2a_i_instapaper{background-position:0 -1393px !important}.a2a_i_iterasi{background-position:0 -1410px !important}.a2a_i_itunes{background-position:0 -1427px !important}.a2a_i_jamespot{background-position:0 -1444px !important}.a2a_i_jots{background-position:0 -1461px !important}.a2a_i_jumptags{background-position:0 -1478px !important}.a2a_i_khabbr{background-position:0 -1495px !important}.a2a_i_kledy{background-position:0 -1512px !important}.a2a_i_klipfolio{background-position:0 -1529px !important}.a2a_i_linkagogo{background-position:0 -1546px !important}.a2a_i_linkatopia{background-position:0 -1563px !important}.a2a_i_linkedin{background-position:0 -1580px !important}.a2a_i_live{background-position:0 -1597px !important}.a2a_i_livejournal{background-position:0 -1614px !important}.a2a_i_ma_gnolia{background-position:0 -1631px !important}.a2a_i_maple{background-position:0 -1648px !important}.a2a_i_meneame{background-position:0 -1665px !important}.a2a_i_mindbodygreen{background-position:0 -1682px !important}.a2a_i_miro{background-position:0 -1699px !important}.a2a_i_mister-wong{background-position:0 -1716px !important}.a2a_i_mixx{background-position:0 -1733px !important}.a2a_i_mobile{background-position:0 -1750px !important}.a2a_i_mozillaca{background-position:0 -1767px !important}.a2a_i_msdn{background-position:0 -1784px !important}.a2a_i_multiply{background-position:0 -1801px !important}.a2a_i_my_msn{background-position:0 -1818px !important}.a2a_i_mylinkvault{background-position:0 -1835px !important}.a2a_i_myspace{background-position:0 -1852px !important}.a2a_i_netimechannel{background-position:0 -1869px !important}.a2a_i_netlog{background-position:0 -1886px !important}.a2a_i_netomat{background-position:0 -1903px !important}.a2a_i_netvibes{background-position:0 -1920px !important}.a2a_i_netvouz{background-position:0 -1937px !important}.a2a_i_newgie{background-position:0 -1954px !important}.a2a_i_newsalloy{background-position:0 -1971px !important}.a2a_i_newscabby{background-position:0 -1988px !important}.a2a_i_newsgator{background-position:0 -2005px !important}.a2a_i_newshutch{background-position:0 -2022px !important}.a2a_i_newsisfree{background-position:0 -2039px !important}.a2a_i_newstrust{background-position:0 -2056px !important}.a2a_i_newsvine{background-position:0 -2073px !important}.a2a_i_nowpublic{background-position:0 -2090px !important}.a2a_i_odeo{background-position:0 -2107px !important}.a2a_i_oneview{background-position:0 -2124px !important}.a2a_i_openbm{background-position:0 -2141px !important}.a2a_i_orkut{background-position:0 -2158px !important}.a2a_i_outlook{background-position:0 -2175px !important}.a2a_i_pageflakes{background-position:0 -2192px !important}.a2a_i_pdf{background-position:0 -2209px !important}.a2a_i_phonefavs{background-position:0 -2226px !important}.a2a_i_ping{background-position:0 -2243px !important}.a2a_i_plaxo{background-position:0 -2260px !important}.a2a_i_plurk{background-position:0 -2277px !important}.a2a_i_plusmo{background-position:0 -2294px !important}.a2a_i_podnova{background-position:0 -2311px !important}.a2a_i_posterous{background-position:0 -2328px !important}.a2a_i_printfriendly{background-position:0 -2345px !important}.a2a_i_propeller{background-position:0 -2362px !important}.a2a_i_protopage{background-position:0 -2379px !important}.a2a_i_pusha{background-position:0 -2396px !important}.a2a_i_rapidfeeds{background-position:0 -2413px !important}.a2a_i_rasasa{background-position:0 -2430px !important}.a2a_i_reader{background-position:0 -2447px !important}.a2a_i_reddit{background-position:0 -2464px !important}.a2a_i_rssfwd{background-position:0 -2481px !important}.a2a_i_segnalo{background-position:0 -2498px !important}.a2a_i_share{background-position:0 -2515px !important}.a2a_i_shoutwire{background-position:0 -2532px !important}.a2a_i_shyftr{background-position:0 -2549px !important}.a2a_i_simpy{background-position:0 -2566px !important}.a2a_i_sitejot{background-position:0 -2583px !important}.a2a_i_skimbit{background-position:0 -2600px !important}.a2a_i_slashdot{background-position:0 -2617px !important}.a2a_i_smaknews{background-position:0 -2634px !important}.a2a_i_sodahead{background-position:0 -2651px !important}.a2a_i_sofomo{background-position:0 -2668px !important}.a2a_i_spaces{background-position:0 -2685px !important}.a2a_i_sphere{background-position:0 -2702px !important}.a2a_i_sphinn{background-position:0 -2718px !important}.a2a_i_spurl{background-position:0 -2735px !important}.a2a_i_squidoo{background-position:0 -2752px !important}.a2a_i_startaid{background-position:0 -2769px !important}.a2a_i_strands{background-position:0 -2786px !important}.a2a_i_stumbleupon{background-position:0 -2803px !important}.a2a_i_stumpedia{background-position:0 -2820px !important}.a2a_i_symbaloo{background-position:0 -2837px !important}.a2a_i_taggly{background-position:0 -2854px !important}.a2a_i_tagza{background-position:0 -2871px !important}.a2a_i_tailrank{background-position:0 -2888px !important}.a2a_i_technet{background-position:0 -2905px !important}.a2a_i_technorati{background-position:0 -2922px !important}.a2a_i_technotizie{background-position:0 -2939px !important}.a2a_i_thefreedictionary{background-position:0 -2956px !important}.a2a_i_thefreelibrary{background-position:0 -2973px !important}.a2a_i_thunderbird{background-position:0 -2990px !important}.a2a_i_tipd{background-position:0 -3007px !important}.a2a_i_toolbar_google{background-position:0 -3024px !important}.a2a_i_tumblr{background-position:0 -3041px !important}.a2a_i_twiddla{background-position:0 -3058px !important}.a2a_i_twine{background-position:0 -3075px !important}.a2a_i_twitter{background-position:0 -3092px !important}.a2a_i_txtvox{background-position:0 -3109px !important}.a2a_i_typepad{background-position:0 -3126px !important}.a2a_i_uarr{background-position:0 -3143px !important}.a2a_i_uarr_wt{background-position:0 -3160px !important}.a2a_i_unalog{background-position:0 -3177px !important}.a2a_i_viadeo{background-position:0 -3194px !important}.a2a_i_webnews{background-position:0 -3211px !important}.a2a_i_webwag{background-position:0 -3229px !important}.a2a_i_wikio{background-position:0 -3246px !important}.a2a_i_windows_mail{background-position:0 -3263px !important}.a2a_i_wink{background-position:0 -3280px !important}.a2a_i_winksite{background-position:0 -3297px !important}.a2a_i_wists{background-position:0 -3314px !important}.a2a_i_wordpress{background-position:0 -3331px !important}.a2a_i_xanga{background-position:0 -3348px !important}.a2a_i_xerpi{background-position:0 -3365px !important}.a2a_i_xianguo{background-position:0 -3382px !important}.a2a_i_yahoo{background-position:0 -3399px !important}.a2a_i_yample{background-position:0 -3416px !important}.a2a_i_yigg{background-position:0 -3433px !important}.a2a_i_yim{background-position:0 -3450px !important}.a2a_i_yoolink{background-position:0 -3467px !important}.a2a_i_youmob{background-position:0 -3484px !important}.a2a_i_yourminis{background-position:0 -3501px !important}.a2a_i_zaptxt{background-position:0 -3518px !important}.a2a_i_zhuaxia{background-position:0 -3535px !important}.a2a_i_zune{background-position:0 -3552px !important}</style></head>
|
|
|
|
<body><iframe id="a2apage_sm_ifr" height="1" width="1" transparency="true" allowtransparency="true" frameborder="0" src="./plugin-pattern_files/sm1.html" style="border: 0px; left: 0px; top: 0px; position: absolute; z-index: 100000;" allow="autoplay 'self'; fullscreen 'self'" data-ruffle-polyfilled=""></iframe><div style="position: static;"><div id="a2apage_border" class="a2a_menu_border" onmouseover="a2a.onMouseOver_stay()" onmouseout="a2a.onMouseOut_delay()"></div><div id="a2apage_dropdown" class="a2a_menu" onmouseover="a2a.onMouseOver_stay()" onmouseout="a2a.onMouseOut_delay()"><div id="a2apage_title_container" class="a2a_menu_title_container"><input id="a2apage_title" class="a2a_menu_title"></div><div class="a2apage_wide a2a_wide"><div class="a2a_tabs"><div id="a2apage_DEFAULT" class="a2a_tab_selected" style="margin-right:1px" onclick="return a2a.tabs('DEFAULT')"><img class="a2a_i_share" src="./plugin-pattern_files/transparent.gif">Share / Save</div></div><div class="a2a_tabs"><div title="Share via e-mail" id="a2apage_EMAIL" style="margin-right:1px" onclick="return a2a.tabs('EMAIL',true)"><img class="a2a_i_email" src="./plugin-pattern_files/transparent.gif">E-mail</div></div><div class="a2a_tabs"><div onclick="a2a.bmBrowser()" title="Bookmark in your browser" id="a2apage_BROWSER" style="margin-left:1px"><img class="a2a_i_bookmark" src="./plugin-pattern_files/transparent.gif">Bookmark</div></div></div><div class="a2a_clear"></div><div id="a2apage_find_container" class="a2a_menu_find_container"><input id="a2apage_find" class="a2a_menu_find" type="text" onclick="a2a.focus_find()" onkeyup="a2a.do_find()" autocomplete="off" onfocus="a2a['page'].find_focused=true;a2a.onMouseOver_stay()" onblur="a2a.blur_find()" title="Instantly find any service to add to"><img id="a2apage_find_icon" class="a2a_i_find" src="./plugin-pattern_files/transparent.gif" onclick="a2a.focus_find()"></div><table id="a2apage_cols_container" class="a2a_cols_container"><tbody><tr><td class="a2a_cols"><div id="a2apage_col1"><a id="a2apage_facebook" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_facebook">Facebook</a><a id="a2apage_delicious" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_delicious">Delicious</a><a id="a2apage_yahoo_buzz" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_buzz">Yahoo Buzz</a><a id="a2apage_myspace" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_myspace">MySpace</a><a id="a2apage_windows_live_favorites" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_live">Windows Live Favorites</a><a id="a2apage_yahoo_bookmarks" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_yahoo">Yahoo Bookmarks</a><a id="a2apage_mister_wong" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_mister-wong">Mister-Wong</a><a id="a2apage_google_reader" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_reader">Google Reader</a><a id="a2apage_evernote" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_evernote">Evernote</a><a id="a2apage_stumpedia" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_stumpedia">Stumpedia</a><a id="a2apage_posterous" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_posterous">Posterous</a><a id="a2apage_msdn" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_msdn">MSDN</a><a id="a2apage_expression" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_expression">Expression</a><a id="a2apage_tipd" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_tipd">Tipd</a><a id="a2apage_plurk" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_plurk">Plurk</a><a id="a2apage_yahoo_messenger" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_yim">Yahoo Messenger</a><a id="a2apage_mozillaca" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_mozillaca">Mozillaca</a><a id="a2apage_typepad_post" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_typepad">TypePad Post</a><a id="a2apage_mixx" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_mixx">Mixx</a><a id="a2apage_technorati_favorites" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_technorati">Technorati Favorites</a><a id="a2apage_citeulike" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_citeulike">CiteULike</a><a id="a2apage_windows_live_spaces" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_spaces">Windows Live Spaces</a><a id="a2apage_funp" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_funp">FunP</a><a id="a2apage_phonefavs" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_phonefavs">PhoneFavs</a><a id="a2apage_netvouz" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_netvouz">Netvouz</a><a id="a2apage_diigo" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_diigo">Diigo</a><a id="a2apage_taggly" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_taggly">Taggly</a><a id="a2apage_tailrank" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_tailrank">Tailrank</a><a id="a2apage_kledy" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_kledy">Kledy</a><a id="a2apage_meneame" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_meneame">Meneame</a><a id="a2apage_bookmarks_fr" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_bookmarks_fr">Bookmarks.fr</a><a id="a2apage_newsvine" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_newsvine">NewsVine</a><a id="a2apage_friendfeed" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_friendfeed">FriendFeed</a><a id="a2apage_ping" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_ping">Ping</a><a id="a2apage_protopage_bookmarks" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_protopage">Protopage Bookmarks</a><a id="a2apage_faves" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_faves">Faves</a><a id="a2apage_webnews" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_webnews">Webnews</a><a id="a2apage_pusha" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_pusha">Pusha</a><a id="a2apage_slashdot" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_slashdot">Slashdot</a><a id="a2apage_allvoices" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_allvoices">Allvoices</a><a id="a2apage_imera_brazil" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_imera">Imera Brazil</a><a id="a2apage_linkagogo" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_linkagogo">LinkaGoGo</a><a id="a2apage_unalog" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_unalog">unalog</a><a id="a2apage_diglog" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_diglog">Diglog</a><a id="a2apage_propeller" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_propeller">Propeller</a><a id="a2apage_livejournal" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_livejournal">LiveJournal</a><a id="a2apage_hellotxt" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_hellotxt">HelloTxt</a><a id="a2apage_yample" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_yample">Yample</a><a id="a2apage_linkatopia" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_linkatopia">Linkatopia</a><a id="a2apage_linkedin" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_linkedin">LinkedIn</a><a id="a2apage_ask_com_mystuff" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_ask">Ask.com MyStuff</a><a id="a2apage_maple" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_maple">Maple</a><a id="a2apage_connotea" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_connotea">Connotea</a><a id="a2apage_mylinkvault" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_mylinkvault">MyLinkVault</a><a id="a2apage_sphinn" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_sphinn">Sphinn</a><a id="a2apage_dzone" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_dzone">DZone</a><a id="a2apage_hyves" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_hyves">Hyves</a><a id="a2apage_bitty_browser" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_bitty">Bitty Browser</a><a id="a2apage_symbaloo_feeds" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_symbaloo">Symbaloo Feeds</a><a id="a2apage_foxiewire" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_foxiewire">Foxiewire</a><a id="a2apage_vodpod" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_default">VodPod</a><a id="a2apage_amazon_wish_list" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_amazon">Amazon Wish List</a><a id="a2apage_read_it_later" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_default">Read It Later</a></div><div id="a2apage_2_col1" style="display:none"><a id="a2apage_google_gmail" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_gmail">Google Gmail</a><a id="a2apage_hotmail" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_live">Hotmail</a></div></td><td class="a2a_cols"><div id="a2apage_col2"><a id="a2apage_twitter" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_twitter">Twitter</a><a id="a2apage_digg" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_digg">Digg</a><a id="a2apage_google_bookmarks" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_google">Google Bookmarks</a><a id="a2apage_reddit" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_reddit">Reddit</a><a id="a2apage_stumbleupon" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_stumbleupon">StumbleUpon</a><a id="a2apage_bebo" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_bebo">Bebo</a><a id="a2apage_wordpress" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_wordpress">WordPress</a><a id="a2apage_orkut" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_orkut">Orkut</a><a id="a2apage_netvibes_share" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_netvibes">Netvibes Share</a><a id="a2apage_strands" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_strands">Strands</a><a id="a2apage_dailyme" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_dailyme">DailyMe</a><a id="a2apage_technet" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_technet">TechNet</a><a id="a2apage_arto" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_arto">Arto</a><a id="a2apage_smaknews" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_smaknews">SmakNews</a><a id="a2apage_aim" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_aim">AIM</a><a id="a2apage_identi_ca" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_identica">Identi.ca</a><a id="a2apage_blogger_post" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_blogger">Blogger Post</a><a id="a2apage_box_net" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_box">Box.net</a><a id="a2apage_netlog" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_netlog">Netlog</a><a id="a2apage_shoutwire" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_shoutwire">Shoutwire</a><a id="a2apage_jumptags" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_jumptags">Jumptags</a><a id="a2apage_hemidemi" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_hemidemi">Hemidemi</a><a id="a2apage_instapaper" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_instapaper">Instapaper</a><a id="a2apage_xerpi" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_xerpi">Xerpi</a><a id="a2apage_wink" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_wink">Wink</a><a id="a2apage_bibsonomy" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_bibsonomy">BibSonomy</a><a id="a2apage_blogmarks" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_blogmarks">BlogMarks</a><a id="a2apage_startaid" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_startaid">StartAid</a><a id="a2apage_khabbr" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_khabbr">Khabbr</a><a id="a2apage_yoolink" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_yoolink">Yoolink</a><a id="a2apage_technotizie" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_technotizie">Technotizie</a><a id="a2apage_multiply" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_multiply">Multiply</a><a id="a2apage_plaxo_pulse" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_plaxo">Plaxo Pulse</a><a id="a2apage_squidoo" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_squidoo">Squidoo</a><a id="a2apage_blinklist" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_blinklist">Blinklist</a><a id="a2apage_yigg" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_yigg">YiGG</a><a id="a2apage_segnalo" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_segnalo">Segnalo</a><a id="a2apage_youmob" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_youmob">YouMob</a><a id="a2apage_fark" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_fark">Fark</a><a id="a2apage_jamespot" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_jamespot">Jamespot</a><a id="a2apage_twiddla" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_twiddla">Twiddla</a><a id="a2apage_mindbodygreen" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_mindbodygreen">MindBodyGreen</a><a id="a2apage_hugg" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_hugg">Hugg</a><a id="a2apage_nowpublic" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_nowpublic">NowPublic</a><a id="a2apage_tumblr" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_tumblr">Tumblr</a><a id="a2apage_current" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_current">Current</a><a id="a2apage_spurl" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_spurl">Spurl</a><a id="a2apage_oneview" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_oneview">Oneview</a><a id="a2apage_simpy" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_simpy">Simpy</a><a id="a2apage_buddymarks" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_buddymarks">BuddyMarks</a><a id="a2apage_viadeo" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_viadeo">Viadeo</a><a id="a2apage_wists" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_wists">Wists</a><a id="a2apage_backflip" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_backflip">Backflip</a><a id="a2apage_sitejot" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_sitejot">SiteJot</a><a id="a2apage_health_ranker" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_healthranker">Health Ranker</a><a id="a2apage_care2_news" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_care2">Care2 News</a><a id="a2apage_sphere" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_sphere">Sphere</a><a id="a2apage_gabbr" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_gabbr">Gabbr</a><a id="a2apage_tagza" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_tagza">Tagza</a><a id="a2apage_folkd" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_folkd">Folkd</a><a id="a2apage_newstrust" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_newstrust">NewsTrust</a><a id="a2apage_printfriendly" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank" style="display: none;"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_printfriendly">PrintFriendly</a></div><div id="a2apage_2_col2" style="display:none"><a id="a2apage_yahoo_mail" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_yahoo">Yahoo Mail</a><a id="a2apage_aol_mail" rel="nofollow" class="a2a_i" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/" target="_blank"><img src="./plugin-pattern_files/transparent.gif" width="16" height="16" class="a2a_i_aol">AOL Mail</a></div></td></tr></tbody></table><div id="a2apage_note_BROWSER" class="a2a_note" style="display:none"></div><div id="a2apage_note_EMAIL" class="a2a_note" style="display:none"><div class="a2a_hr"></div><div class="a2a_note_note">Send from any e-mail address or e-mail program:</div><div class="a2a_nowrap"><a href="https://web.archive.org/web/20100119021618mp_/http://blog.aztec-project.org/" id="a2apage_any_email" class="a2a_i a2a_emailer" target="_blank" servicename="Email (form)" safename="email_form" customserviceuri="https://web.archive.org/web/20100106150210/http://www.addtoany.com/email?linkurl=A2A_LINKURL_ENC&linkname=A2A_LINKNAME_ENC" onkeydown="a2a.linker(this)" onmousedown="a2a.linker(this)" onmouseup="a2a.a2a_track('testShare1', 'Email');if(a2a_track_pub)a2a.a2a_track('z_'+a2a_track_pub+'Share', 'Email')" style="margin-right:9px"><img class="a2a_i_email" src="./plugin-pattern_files/transparent.gif">Any e-mail</a><a href="https://web.archive.org/web/20100119021618mp_/http://blog.aztec-project.org/" class="a2a_i a2a_emailer" id="a2apage_email_client" servicename="Email (mailto)" safename="email_mailto" customserviceuri="mailto:?subject=A2A_LINKNAME_ENC&body=A2A_LINKURL_ENC" onkeydown="a2a.linker(this)" onmousedown="a2a.linker(this)" onmouseup="a2a.a2a_track('testShare1', 'Email');if(a2a_track_pub)a2a.a2a_track('z_'+a2a_track_pub+'Share', 'Email')" onclick="a2a.track()" style="margin-left:9px"><img class="a2a_i_outlook" src="./plugin-pattern_files/transparent.gif"><img class="a2a_i_windows_mail" src="./plugin-pattern_files/transparent.gif"><img class="a2a_i_apple_mail" src="./plugin-pattern_files/transparent.gif"><img class="a2a_i_thunderbird" src="./plugin-pattern_files/transparent.gif"></a></div></div><div class="a2apage_wide a2a_wide"><a href="javascript:void(0)" id="a2apage_show_more_less" class="a2a_menu_show_more_less" onclick="return a2a.show_more_less(0)" onmouseover="img=this.firstChild;if(a2a_color_arrow_hover=='fff'){if(img.className.indexOf('_wt')==-1)img.className+='_wt'}else img.className=img.className.replace(/_wt/,'')" onmouseout="img=this.firstChild;if(a2a_color_arrow=='fff'){if(img.className.indexOf('_wt')==-1)img.className+='_wt'}else img.className=img.className.replace(/_wt/,'')" title="Show all"><img class="a2a_i_darr" src="./plugin-pattern_files/transparent.gif"></a></div><div class="a2apage_wide a2a_wide"><a href="https://web.archive.org/web/20100106150210/http://www.addtoany.com/" id="a2apage_powered_by" class="a2a_menu_powered_by" target="_blank" title="Share & Subscribe buttons" onmouseover="if(!window.opera)this.innerHTML=this.orig;this.style.textAlign='center'">Powered by AddToAny</a></div></div></div><!-- BEGIN WAYBACK TOOLBAR INSERT -->
|
|
<script>__wm.rw(0);</script>
|
|
<div id="wm-ipp-base" lang="en" style="display: block; direction: ltr;"><template shadowrootmode="closed"><div id="wm-ipp" style="position:fixed;left:0;top:0;right:0;" class="">
|
|
<div id="donato" style="position:relative;width:100%;">
|
|
<div id="donato-base">
|
|
<iframe id="donato-if" src="https://archive.org/includes/donate.php?as_page=1&platform=wb&referer=https%3A//web.archive.org/web/20100119021618/http%3A//blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/" scrolling="no" frameborder="0" style="width:100%; height:100%">
|
|
</iframe>
|
|
</div>
|
|
</div><div id="wm-ipp-inside">
|
|
<div id="wm-toolbar" style="position:relative;display:flex;flex-flow:row nowrap;justify-content:space-between;">
|
|
<div id="wm-logo" style="/*width:110px;*/padding-top:12px;">
|
|
<a href="https://web.archive.org/web/" title="Wayback Machine home page"><img src="https://web.archive.org/_static/images/toolbar/wayback-toolbar-logo-200.png" srcset="/_static/images/toolbar/wayback-toolbar-logo-100.png, /_static/images/toolbar/wayback-toolbar-logo-150.png 1.5x, /_static/images/toolbar/wayback-toolbar-logo-200.png 2x" alt="Wayback Machine" style="width:100px" border="0"></a>
|
|
</div>
|
|
<div class="c" style="display:flex;flex-flow:column nowrap;justify-content:space-between;flex:1;">
|
|
<form class="u" style="display:flex;flex-direction:row;flex-wrap:nowrap;" target="_top" method="get" action="https://web.archive.org/web/submit" name="wmtb" id="wmtb"><input type="text" name="url" id="wmtbURL" value="http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/" onfocus="this.focus();this.select();" style="flex:1;" autocomplete="off"><input type="hidden" name="type" value="replay"><input type="hidden" name="date" value="20100119021618"><input type="submit" value="Go">
|
|
</form>
|
|
<div style="display:flex;flex-flow:row nowrap;align-items:flex-end;">
|
|
<div class="s" id="wm-nav-captures" style="flex:1;"><a class="t" href="https://web.archive.org/web/*/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/" title="See a list of every capture for this URL">9 captures</a><div class="r" title="Timespan for captures of this URL">17 Jul 2009 - 7 May 2021</div></div>
|
|
<div class="k">
|
|
<a href="https://web.archive.org/web/20121201000000/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/" id="wm-graph-anchor">
|
|
<div id="wm-ipp-sparkline" title="Explore captures for this URL" style="position: relative">
|
|
<canvas id="wm-sparkline-canvas" width="750" height="27" border="0"></canvas>
|
|
<div class="yt" style="display: none; width: 25px; height: 27px; left: 400px;"></div><div class="mt" style="display: none; width: 2px; height: 27px; left: 423px;"></div></div>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="n">
|
|
<table>
|
|
<tbody>
|
|
<!-- NEXT/PREV MONTH NAV AND MONTH INDICATOR -->
|
|
<tr class="m">
|
|
<td class="b" nowrap="nowrap"><a href="https://web.archive.org/web/20091116191637/http://blog.aztec-project.org:80/2009/06/05/umsetzung-des-plug-in-patterns/" title="16 Nov 2009"><strong>Nov</strong></a></td>
|
|
<td class="c" id="displayMonthEl" title="You are here: 02:16:18 Jan 19, 2010">Jan</td>
|
|
<td class="f" nowrap="nowrap"><a href="https://web.archive.org/web/20100323083617/http://blog.aztec-project.org:80/2009/06/05/umsetzung-des-plug-in-patterns/" title="23 Mar 2010"><strong>Mar</strong></a></td>
|
|
</tr>
|
|
<!-- NEXT/PREV CAPTURE NAV AND DAY OF MONTH INDICATOR -->
|
|
<tr class="d">
|
|
<td class="b" nowrap="nowrap"><a href="https://web.archive.org/web/20091116191637/http://blog.aztec-project.org:80/2009/06/05/umsetzung-des-plug-in-patterns/" title="19:16:37 Nov 16, 2009"><img src="https://web.archive.org/_static/images/toolbar/wm_tb_prv_on.png" alt="Previous capture" width="14" height="16" border="0"></a></td>
|
|
<td class="c" id="displayDayEl" style="width:34px;font-size:22px;white-space:nowrap;" title="You are here: 02:16:18 Jan 19, 2010">19</td>
|
|
<td class="f" nowrap="nowrap"><a href="https://web.archive.org/web/20100323083617/http://blog.aztec-project.org:80/2009/06/05/umsetzung-des-plug-in-patterns/" title="08:36:17 Mar 23, 2010"><img src="https://web.archive.org/_static/images/toolbar/wm_tb_nxt_on.png" alt="Next capture" width="14" height="16" border="0"></a></td>
|
|
</tr>
|
|
<!-- NEXT/PREV YEAR NAV AND YEAR INDICATOR -->
|
|
<tr class="y">
|
|
<td class="b" nowrap="nowrap">2009</td>
|
|
<td class="c" id="displayYearEl" title="You are here: 02:16:18 Jan 19, 2010">2010</td>
|
|
<td class="f" nowrap="nowrap"><a href="https://web.archive.org/web/20201024235051/https://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/" title="24 Oct 2020"><strong>2020</strong></a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="r" style="display:flex;flex-flow:column nowrap;align-items:flex-end;justify-content:space-between;">
|
|
<div id="wm-btns" style="text-align:right;height:23px;">
|
|
<span class="xxs">
|
|
<div id="wm-save-snapshot-success">success</div>
|
|
<div id="wm-save-snapshot-fail">fail</div>
|
|
<a id="wm-save-snapshot-open" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/#" title="Share via My Web Archive" style="display: none;">
|
|
<span class="iconochive-web"></span>
|
|
</a>
|
|
<a href="https://archive.org/account/login.php" title="Sign In" id="wm-sign-in" style="display: inline-block;">
|
|
<span class="iconochive-person"></span>
|
|
</a>
|
|
<span id="wm-save-snapshot-in-progress" class="iconochive-web" style="display: none;"></span>
|
|
</span>
|
|
<a class="xxs" href="http://faq.web.archive.org/" title="Get some help using the Wayback Machine" style="top:-6px;"><span class="iconochive-question" style="color:rgb(87,186,244);font-size:160%;"></span></a>
|
|
<a id="wm-tb-close" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/#close" style="top:-2px;" title="Close the toolbar"><span class="iconochive-remove-circle" style="color:#888888;font-size:240%;"></span></a>
|
|
</div>
|
|
<div id="wm-share" class="xxs">
|
|
<a href="https://web.archive.org/web/20100119021618/http://web.archive.org/screenshot/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/" id="wm-screenshot" title="screenshot" style="visibility: hidden;">
|
|
<span class="wm-icon-screen-shot"></span>
|
|
</a>
|
|
<a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/#" id="wm-video" title="video">
|
|
<span class="iconochive-movies"></span>
|
|
</a>
|
|
<a id="wm-share-facebook" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/#" data-url="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org:80/2009/06/05/umsetzung-des-plug-in-patterns/" title="Share on Facebook" style="margin-right:5px;" target="_blank"><span class="iconochive-facebook" style="color:#3b5998;font-size:160%;"></span></a>
|
|
<a id="wm-share-twitter" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/#" data-url="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org:80/2009/06/05/umsetzung-des-plug-in-patterns/" title="Share on Twitter" style="margin-right:5px;" target="_blank"><span class="iconochive-twitter" style="color:#1dcaff;font-size:160%;"></span></a>
|
|
</div>
|
|
<div style="padding-right:2px;text-align:right;white-space:nowrap;">
|
|
<a id="wm-expand" class="wm-btn wm-closed" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/#expand"><span id="wm-expand-icon" class="iconochive-down-solid"></span> <span class="xxs" style="font-size:80%;">About this capture</span></a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="wm-capinfo" style="border-top:1px solid #777;display:none; overflow: hidden">
|
|
<div id="wm-capinfo-notice" source="api"></div>
|
|
<div id="wm-capinfo-collected-by">
|
|
<div style="background-color:#666;color:#fff;font-weight:bold;text-align:center">COLLECTED BY</div>
|
|
<div style="padding:3px;position:relative" id="wm-collected-by-content">
|
|
<div style="display:inline-block;vertical-align:top;width:50%;">
|
|
<span class="c-logo" style="background-image:url(https://archive.org/services/img/alexacrawls);"></span>
|
|
Organization: <a style="color:#33f;" href="https://archive.org/details/alexacrawls" target="_new"><span class="wm-title">Alexa Crawls</span></a>
|
|
<div style="max-height:75px;overflow:hidden;position:relative;">
|
|
<div style="position:absolute;top:0;left:0;width:100%;height:75px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 90%,rgba(255,255,255,255) 100%);"></div>
|
|
Starting in 1996, <a href="http://www.alexa.com/">Alexa Internet</a> has been donating their crawl data to the Internet Archive. Flowing in every day, these data are added to the <a href="http://web.archive.org/">Wayback Machine</a> after an embargo period.
|
|
</div>
|
|
</div>
|
|
<div style="display:inline-block;vertical-align:top;width:49%;">
|
|
<span class="c-logo" style="background-image:url(https://archive.org/services/img/alexa_web_2010)"></span>
|
|
<div>Collection: <a style="color:#33f;" href="https://archive.org/details/alexa_web_2010" target="_new"><span class="wm-title">alexa_web_2010</span></a></div>
|
|
<div style="max-height:75px;overflow:hidden;position:relative;">
|
|
<div style="position:absolute;top:0;left:0;width:100%;height:75px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 90%,rgba(255,255,255,255) 100%);"></div>
|
|
this data is currently not publicly accessible.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="wm-capinfo-timestamps">
|
|
<div style="background-color:#666;color:#fff;font-weight:bold;text-align:center" title="Timestamps for the elements of this page">TIMESTAMPS</div>
|
|
<div>
|
|
<div id="wm-capresources" style="margin:0 5px 5px 5px;max-height:250px;overflow-y:scroll !important"></div>
|
|
<div id="wm-capresources-loading" style="text-align:left;margin:0 20px 5px 5px;display:none"><img src="https://web.archive.org/_static/images/loading.gif" alt="loading"></div>
|
|
</div>
|
|
</div>
|
|
</div></div></div><link rel="stylesheet" type="text/css" href="./plugin-pattern_files/banner-styles.css"><link rel="stylesheet" type="text/css" href="./plugin-pattern_files/iconochive.css"><div class="wb-autocomplete-suggestions "></div></template>
|
|
</div><div id="wm-ipp-print">The Wayback Machine - https://web.archive.org/web/20100119021618/http://blog.aztec-project.org:80/2009/06/05/umsetzung-des-plug-in-patterns/</div>
|
|
<script type="text/javascript">//<![CDATA[
|
|
__wm.bt(750,27,25,2,"web","http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/","20100119021618",1996,"/_static/",["/_static/css/banner-styles.css?v=S1zqJCYt","/_static/css/iconochive.css?v=3PDvdIFv"], false);
|
|
__wm.rw(1);
|
|
//]]></script>
|
|
<!-- END WAYBACK TOOLBAR INSERT -->
|
|
|
|
|
|
<div id="page">
|
|
|
|
<div id="header" class="png">
|
|
<div id="headerimg">
|
|
<h1 class="blogname" id="blogname"><a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/">build broken</a></h1><span class="blogname text-stroke-br">build broken</span><span class="blogname text-stroke-bl">build broken</span><span class="blogname text-stroke-tr">build broken</span><span class="blogname text-stroke-tl">build broken</span>
|
|
<h6 class="blogdesc" id="blogdesc">but we can fix it! Sometimes :)</h6><span class="blogdesc text-stroke-br">but we can fix it! Sometimes :)</span><span class="blogdesc text-stroke-bl">but we can fix it! Sometimes :)</span><span class="blogdesc text-stroke-tr">but we can fix it! Sometimes :)</span><span class="blogdesc text-stroke-tl">but we can fix it! Sometimes :)</span>
|
|
|
|
<ul class="pages png head_overlay">
|
|
<li class="page_item"><a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/">Home</a></li>
|
|
<li class="page_item page-item-2"><a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/about/" title="About">About</a></li>
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="main" class="png">
|
|
<table>
|
|
<tbody><tr>
|
|
<td id="content" class="widecolumn">
|
|
|
|
|
|
<div class="navigation">
|
|
<div class="alignleft"></div>
|
|
<div class="alignright"><a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/dynamisches-laden-von-assemblies/">Dynamisches Laden von Assemblies</a> »</div>
|
|
</div>
|
|
|
|
<div class="post" id="post-5">
|
|
<div class="postinfo">
|
|
|
|
<div class="datestamp">
|
|
<div>
|
|
<span class="cal1 cal1x">Jun</span>
|
|
<span class="cal2">05</span>
|
|
<span class="cal3">2009</span>
|
|
</div>
|
|
</div>
|
|
<span class="switch-post">
|
|
<a href="javascript:toggleSidebars();" class="switch-sidebars"><img src="./plugin-pattern_files/bullet_sidebars_hide.png" alt="" class="png"></a><a href="javascript:togglePost(5);" id="switch-post-5"><img src="./plugin-pattern_files/bullet_toggle_minus.png" alt="" class="png"></a>
|
|
</span>
|
|
|
|
<h2 class="posttitle"><a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/" rel="bookmark" title="Permanent Link: Umsetzung des Plug-In-Patterns">Umsetzung des Plug-In-Patterns</a></h2>
|
|
<small>
|
|
Geschrieben von <a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/author/tch/" title="Artikel von Thomas Christian">Thomas Christian</a> in <a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/category/how-to/" title="Alle Artikel in How-To ansehen" rel="category tag">How-To</a>, tags: <a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/tag/architektur/" rel="tag">Architektur</a>, <a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/tag/c/" rel="tag">C#</a>, <a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/tag/howto/" rel="tag">HowTo</a>, <a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/tag/plug-in/" rel="tag">Plug-In</a> </small>
|
|
|
|
</div>
|
|
|
|
<div class="entry">
|
|
<p>In meinem ersten Blog-Post möchte ich euch in vereinfachter Form meine Umsetzung des Plug-In-Patterns vorstellen.<br>
|
|
Voraussetzungen für dieses Pattern sind:</p>
|
|
<ul>
|
|
<li> eine Host-Applikation die das Plug-In laden möchte</li>
|
|
<li> ein Plug-In welches es zu laden gilt</li>
|
|
<li> und die Schnittstellen Plugin und IHost</li>
|
|
</ul>
|
|
<p>Zu allererst brauchen wir eine gemeinsame Schnittstelle, die sowohl vom Plug-In als auch vom Host (die Applikation welche das Plug-In verwenden soll) benutzt werden soll. Über diese Schnittstelle kommuniziert der Host mit dem Plug-In.<br>
|
|
Es würde sich das Interface IPlugIn anbieten. In meinem Fall verwende ich allerdings kein Interface sondern eine abstrakte Klasse, da ich bereits Logik direkt in die Schnittstelle implementieren möchte. In meinem Fall heißt die abstrakte Klasse einfach nur Plugin. Im weiteren Verlauf werde ich zu meiner abstrakten Klasse Schnittstelle sagen.</p>
|
|
<div style="font-family: Courier New; font-size: 10pt; color: black; background: white;">
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 1</span> <span style="color: blue;">public</span> <span style="color: blue;">abstract</span> <span style="color: blue;">class</span> <span style="color: #2b91af;">Plugin</span> {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 2</span> <span style="color: blue;">private</span> IHost m_host;</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 3</span> <span style="color: blue;">public</span> Plugin(<span style="color: blue;">string</span> name) {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 4</span> Name = name;</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 5</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 6</span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 7</span> <span style="color: blue;">public</span> <span style="color: blue;">string</span> Name { <span style="color: blue;">get</span>; <span style="color: blue;">set</span>; }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 8</span> <span style="color: blue;">public</span> <span style="color: blue;">string</span> Author { <span style="color: blue;">get</span>; <span style="color: blue;">set</span>; }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 9</span> <span style="color: blue;">public</span> <span style="color: blue;">string</span> Version { <span style="color: blue;">get</span>; <span style="color: blue;">set</span>; }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 10</span> <span style="color: blue;">public</span> <span style="color: blue;">bool</span> IsRegistered { <span style="color: blue;">get</span>; <span style="color: blue;">private</span> <span style="color: blue;">set</span>; }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 11</span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 12</span> <span style="color: gray;">///</span><span style="color: green;"> </span><span style="color: gray;"><summary></span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 13</span> <span style="color: gray;">///</span><span style="color: green;"> Setzt oder gibt die Host-Application.</span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 14</span> <span style="color: gray;">///</span><span style="color: green;"> </span><span style="color: gray;"></summary></span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 15</span> <span style="color: gray;">///</span><span style="color: green;"> </span><span style="color: gray;"><value></span><span style="color: green;">Host-Application.</span><span style="color: gray;"></value></span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 16</span> <span style="color: blue;">public</span> IHost Host {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 17</span> <span style="color: blue;">get</span> { <span style="color: blue;">return</span> m_host; }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 18</span> <span style="color: blue;">set</span> {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 19</span> <span style="color: blue;">if</span> (<span style="color: blue;">value</span> != <span style="color: blue;">null</span>) {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 20</span> <span style="color: blue;">if</span> (m_host == <span style="color: blue;">null</span>) {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 21</span> m_host = <span style="color: blue;">value</span>;</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 22</span> <span style="color: blue;">if</span> (m_host.Register(<span style="color: blue;">this</span>)) {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 23</span> IsRegistered = <span style="color: blue;">true</span>;</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 24</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 25</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 26</span> } <span style="color: blue;">else</span> {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 27</span> <span style="color: blue;">if</span> (m_host.Unregister(<span style="color: blue;">this</span>)) {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 28</span> m_host = <span style="color: blue;">value</span>;</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 29</span> IsRegistered = <span style="color: blue;">false</span>;</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 30</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 31</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 32</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 33</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 34</span> }</pre>
|
|
</div>
|
|
<p>Ich glaube, der Aufbau der Schnittstelle Plugin sollte bis auf die Property “Host” klar sein. Wie man sieht, benötigt man bei diesem Pattern zusätzlich zur Schnittstelle Plugin noch das IHost-Interface.<br>
|
|
Dieses Interface ist direkter Bestandteil der Schnittstelle Plugin. Nun kann man sich natürlich die Frage stellen, warum das Plug-In den Host kennen muss und somit von diesem abhängig ist.</p>
|
|
<p>Zum einen ist es in der Regel so, dass ein Plug-In für nur einen Host entwickelt wird und zum anderen wollte ich dem Host gewisse Richtlinien zum Registrieren und Lösen des Plug-Ins vorgeben.</p>
|
|
<p>Das Interface IHost sieht folgendermaßen aus:</p>
|
|
<div style="font-family: Courier New; font-size: 10pt; color: black; background: white;">
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 1</span> <span style="color: blue;">public</span> <span style="color: blue;">interface</span> <span style="color: #2b91af;">IHost</span> {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 2</span> <span style="color: blue;">bool</span> Register(Plugin plugin);</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 3</span> <span style="color: blue;">bool</span> Unregister(Plugin plugin);</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 4</span> }</pre>
|
|
</div>
|
|
<p>Dieses Interface muss von der Host-Applikation implementiert werden, damit sich das Plug-In am Host registrieren kann. Im letzten Satz habe ich es schon angedeutet. Nicht der Host registriert das Plug-In bei sich, sondern das Plug-In registriert sich am Host. Durch das setzen der Property Plugin.Host wird die Methode Register oder Unregister vom Plug-In aufgerufen, welche der Host implementiert.</p>
|
|
<p>Eine vereinfachte Darstellung der Implementierung des IHost -Interfaces sieht folgendermaßen aus:</p>
|
|
<div style="font-family: Courier New; font-size: 10pt; color: black; background: white;">
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 1</span> <span style="color: blue;">public</span> <span style="color: blue;">class</span> <span style="color: #2b91af;">HostApplication</span> : IHost {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 2</span> <span style="color: blue;">private</span> List<Plugin> m_pluginList;</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 3</span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 4</span> <span style="color: green;">//Konstruktor</span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 5</span> <span style="color: blue;">public</span> HostApplication() {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 6</span> m_pluginList = <span style="color: blue;">new</span> List<Plugin>();</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 7</span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 8</span> <span style="color: green;">//Lädt alle verfügbaren Plug-Ins zb. aus einem Verzeichnis</span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 9</span> List<Plugin> plugins = GetPlugins();</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 10</span> <span style="color: blue;">foreach</span> (Plugin plugin <span style="color: blue;">in</span> plugins) {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 11</span> <span style="color: green;">//ruft implizit die IHost.Register-Methode auf</span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 12</span> plugin.Host = <span style="color: blue;">this</span>;</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 13</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 14</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 15</span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 16</span> <span style="color: blue;">public</span> <span style="color: blue;">void</span> ShowPlugins() {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 17</span> <span style="color: blue;">foreach</span> (Plugin plugin <span style="color: blue;">in</span> m_pluginList) {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 18</span> <span style="color: green;">//Ausgabe der Namen aller am Host registrierten Plug-Ins</span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 19</span> Console.WriteLine(plugin.Name);</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 20</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 21</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 22</span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 23</span> <span style="color: blue;">public</span> <span style="color: blue;">void</span> UnloadPlugins() {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 24</span> <span style="color: blue;">foreach</span> (Plugin plugin <span style="color: blue;">in</span> m_pluginList) {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 25</span> <span style="color: green;">//ruft implizit die IHost.Unregister-Methode auf</span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 26</span> plugin.Host = <span style="color: blue;">null</span>;</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 27</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 28</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 29</span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 30</span> <span style="color: blue;"> #region</span> IHost-Implementierung</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 31</span> <span style="color: blue;">public</span> <span style="color: blue;">bool</span> Register(Plugin plugin) {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 32</span> <span style="color: blue;">if</span> (!m_pluginList.Contains(plugin)) {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 33</span> m_pluginList.Add(plugin);</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 34</span> <span style="color: blue;">return</span> <span style="color: blue;">true</span>;</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 35</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 36</span> <span style="color: blue;">return</span> <span style="color: blue;">false</span>;</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 37</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 38</span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 39</span> <span style="color: blue;">public</span> <span style="color: blue;">bool</span> Unregister(Plugin plugin) {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 40</span> <span style="color: blue;">if</span> (m_pluginList.Contains(plugin)) {</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 41</span> m_pluginList.Remove(plugin);</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 42</span> <span style="color: blue;">return</span> <span style="color: blue;">true</span>;</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 43</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 44</span> <span style="color: blue;">return</span> <span style="color: blue;">false</span>;</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 45</span> }</pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 46</span> <span style="color: blue;"> #endregion</span></pre>
|
|
<pre style="margin: 0px;"><span style="color: #2b91af;"> 47</span> }</pre>
|
|
</div>
|
|
<p>Das Registrieren und Lösen der Plug-Ins könnte man nun noch in einen Plug-In-Manager auslagern, worauf ich in diesem Blog allerdings verzichten möchte.</p>
|
|
<div class="addtoany_share_save_container"><ul class="addtoany_list"><li><a class="a2a_dd addtoany_share_save" href="https://web.archive.org/web/20100119021618/http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.aztec-project.org%2F2009%2F06%2F05%2Fumsetzung-des-plug-in-patterns%2F&linkname=Umsetzung%20des%20Plug-In-Patterns"><img src="./plugin-pattern_files/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark" style="border-width: 0px;"></a></li></ul></div>
|
|
<p class="postmetadata alt clear">
|
|
<small>
|
|
Geschrieben am Freitag, 5. Juni 2009 um 10:45 pm und ist zu finden in <a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/category/how-to/" title="Alle Artikel in How-To ansehen" rel="category tag">How-To</a>. Du kannst die Antworten zu diesem Thema verfolgen unter <a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/feed/">RSS 2.0</a> feed. Du kannst <a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/#respond">Antwort</a>, oder <a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/trackback/" rel="trackback">trackback</a> von deiner Seite.
|
|
</small>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div id="respond">
|
|
<div class="title">Hinterlasse einen Kommentar</div>
|
|
|
|
|
|
<div class="cancel-comment-reply">
|
|
<small><a rel="nofollow" id="cancel-comment-reply-link" href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/#respond" style="display:none;">Click here to cancel reply</a></small>
|
|
</div>
|
|
<form action="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/wp-comments-post.php" method="post" id="commentform">
|
|
<input type="hidden" name="comment_post_ID" value="5" id="comment_post_ID">
|
|
<input type="hidden" name="comment_parent" id="comment_parent" value="0">
|
|
|
|
<p><input type="text" name="author" id="author" value="" size="22" tabindex="1">
|
|
<label for="author"><small>Name (benötigt)</small></label></p>
|
|
|
|
<p><input type="text" name="email" id="email" value="" size="22" tabindex="2">
|
|
<label for="email"><small>E-mail (wird nicht veröffentlicht) (benötigt)</small></label></p>
|
|
|
|
<p><input type="text" name="url" id="url" value="" size="22" tabindex="3">
|
|
<label for="url"><small>Webseite</small></label></p>
|
|
|
|
|
|
<p><textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"></textarea></p>
|
|
|
|
<p>
|
|
<input name="submit" type="submit" id="submit" tabindex="5" value="Kommentar absenden">
|
|
<input type="hidden" name="comment_post_ID" value="5">
|
|
</p>
|
|
|
|
|
|
<p style="clear: both;" class="subscribe-to-comments">
|
|
<input type="checkbox" name="subscribe" id="subscribe" value="subscribe" style="width: auto;">
|
|
<label for="subscribe">Notify me of followup comments via e-mail</label>
|
|
</p>
|
|
|
|
|
|
<br class="clear">
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
<!-- // <![CDATA[
|
|
|
|
jQuery(document).ready(function() {
|
|
if (jQuery('#trackbacklist li').length == 1)
|
|
jQuery('#trackbacks, #trackbacklist').hide();
|
|
jQuery('li.comment>div>*').filter(':not(.comment-author, .comment-meta)').wrap('<div class="comment"><\/div>');
|
|
|
|
jQuery('.comment-author').before('<span class="switch-post"><a href="#"><img src="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/wp-content/themes/mandigo/images/icons/bullet_toggle_minus.png" alt="" class="png" /><\/a><\/span>');
|
|
});
|
|
|
|
// ]]> -->
|
|
</script>
|
|
</td>
|
|
|
|
</tr>
|
|
</tbody></table>
|
|
</div>
|
|
|
|
<div id="footer" class="png">
|
|
<p>
|
|
Unterstützt von <a href="https://web.archive.org/web/20100119021618/http://wordpress.org/">WordPress</a>, <a href="https://web.archive.org/web/20100119021618/http://www.onehertz.com/portfolio/wordpress/" target="_blank" title="WordPress themes">Mandigo theme</a> by tom.
|
|
|
|
<br><a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/feed/"><img src="./plugin-pattern_files/rss_s.gif" alt=""> Einträge (RSS)</a>
|
|
und <a href="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/comments/feed/"><img src="./plugin-pattern_files/rss_s.gif" alt=""> Kommentare (RSS)</a>.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
a2a_localize = {
|
|
Share: "Share",
|
|
Save: "Save",
|
|
Subscribe: "Subscribe",
|
|
Email: "E-mail",
|
|
Bookmark: "Bookmark",
|
|
ShowAll: "Show all",
|
|
ShowLess: "Show less",
|
|
FindServices: "Find service(s)",
|
|
FindAnyServiceToAddTo: "Instantly find any service to add to",
|
|
PoweredBy: "Powered by",
|
|
ShareViaEmail: "Share via e-mail",
|
|
SubscribeViaEmail: "Subscribe via e-mail",
|
|
BookmarkInYourBrowser: "Bookmark in your browser",
|
|
BookmarkInstructions: "Press Ctrl+D or ⌘+D to bookmark this page",
|
|
AddToYourFavorites: "Add to your favorites",
|
|
SendFromWebOrProgram: "Send from any e-mail address or e-mail program",
|
|
EmailProgram: "E-mail program"
|
|
};
|
|
a2a_linkname="Umsetzung des Plug-In-Patterns";
|
|
a2a_linkurl="https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/2009/06/05/umsetzung-des-plug-in-patterns/";
|
|
a2a_color_main="FAFAFA";a2a_color_border="AECADB";a2a_color_link_text="FF9B2A";a2a_color_link_text_hover="FF9B2A";a2a_color_bg="FAFAFA";
|
|
</script><script type="text/javascript" src="./plugin-pattern_files/page.js.Download"></script>
|
|
|
|
|
|
<script type="text/javascript">
|
|
<!-- // <![CDATA[
|
|
|
|
jQuery(document).ready(function() {
|
|
jQuery('#rssicon, #searchsubmit').hover(
|
|
function() { this.src = this.src.replace('.gif','_hover.gif'); },
|
|
function() { this.src = this.src.replace('_hover.gif','.gif'); }
|
|
);
|
|
|
|
jQuery('.entry img[align=left]' ).addClass('alignleft' );
|
|
jQuery('.entry img[align=right]').addClass('alignright');
|
|
|
|
if (jQuery.browser.msie) {
|
|
if (/^[56]/.test(jQuery.browser.version)) {
|
|
jQuery.ifixpng('https://web.archive.org/web/20100119021618/http://blog.aztec-project.org/wp-content/themes/mandigo/images/1x1.gif');
|
|
jQuery('body, .png').ifixpng();
|
|
jQuery('.commentlist.pre27 .avatar').height(36);
|
|
}
|
|
|
|
}
|
|
|
|
jQuery('p:has(.dropcap)').append('<br class="clear"/>');
|
|
|
|
togglePost = function(id) {
|
|
if (!id) return;
|
|
icon = jQuery('#switch-post-'+ id +' img');
|
|
icon.attr('src', /minus/.test(icon.attr('src')) ? icon.attr('src').replace('minus', 'plus') : icon.attr('src').replace('plus', 'minus'));
|
|
jQuery('#post-'+ id +' .entry').animate({ height: 'toggle', opacity: 'toggle' }, 1000);
|
|
}
|
|
|
|
jQuery('.switch-post img').bind('click', function() {
|
|
id = jQuery(this).parents('li').attr('id').replace(/[^\d]+-/, '');
|
|
icon = jQuery('#comment-'+ id +' .switch-post img');
|
|
src = icon.attr('src');
|
|
icon.attr('src', /minus/.test(src) ? src.replace('minus', 'plus') : src.replace('plus', 'minus'));
|
|
jQuery('#comment-'+ id +' div.comment').animate({ height: 'toggle', opacity: 'toggle' }, 1000);
|
|
return false;
|
|
});
|
|
|
|
toggleSidebars = function() {
|
|
icon = jQuery('.switch-sidebars img');
|
|
icon.attr('src', /hide/.test(icon.attr('src')) ? icon.attr('src').replace('hide', 'show') : icon.attr('src').replace('show', 'hide'));
|
|
jQuery('.sidebars').animate({ width: 'toggle', height: 'toggle', padding: 'toggle', border: 'toggle' }, 1000);
|
|
}
|
|
|
|
jQuery('.widgettitle, .linkcat *:first, .wpg2blockwidget h3').click(function() {
|
|
jQuery(this).siblings().animate({ height: 'toggle', opacity: 'toggle' }, 1000);
|
|
}).css({cursor: 'n-resize'});
|
|
|
|
jQuery.each(['tl','tr','bl','br'],function() {
|
|
jQuery('#blogname').after('<span class="blogname text-stroke-'+ this +'">'+ jQuery('#blogname a').html() +'<\/span>');
|
|
jQuery('#blogdesc').after('<span class="blogdesc text-stroke-'+ this +'">'+ jQuery('#blogdesc' ).html() +'<\/span>');
|
|
});
|
|
|
|
jQuery('#header .page_item:has(ul)').addClass('has_sub, png');
|
|
|
|
jQuery('#header .page_item').hover(
|
|
function() {
|
|
ul = jQuery(this).find('>ul');
|
|
if (ul.hasClass('sliding')) return;
|
|
a = jQuery(this).find('>a');
|
|
if (jQuery(this).parent().hasClass('pages')) {
|
|
y = a.position().top + a.height();
|
|
x = a.position().left + a.width() - ul.width();
|
|
}
|
|
else {
|
|
y = jQuery(this).position().top - 5;
|
|
x = jQuery(this).parent().width();
|
|
}
|
|
jQuery(this)
|
|
.find('>ul')
|
|
.css({left:x, top:y})
|
|
.addClass('sliding')
|
|
.slideDown(300, function() { jQuery(this).removeClass('sliding'); });
|
|
},
|
|
function() {
|
|
jQuery(this)
|
|
.find('>ul')
|
|
.addClass('sliding')
|
|
.slideUp(800, function() { jQuery(this).removeClass('sliding').hide(); });
|
|
}
|
|
);
|
|
|
|
jQuery('.commentlist li:even').addClass('alt');
|
|
});
|
|
// ]]> -->
|
|
</script>
|
|
<script type="text/javascript">
|
|
var gaJsHost = (("https:" == document.location.protocol) ? "https://web.archive.org/web/20100119021618/https://ssl." : "https://web.archive.org/web/20100119021618/http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
|
</script><script src="./plugin-pattern_files/ga.js.Download" type="text/javascript"></script>
|
|
<script type="text/javascript">
|
|
try {
|
|
var pageTracker = _gat._getTracker("UA-9511047-1"); pageTracker._trackPageview(); } catch(err) {}</script>
|
|
|
|
|
|
|
|
<div data-lastpass-root="" style="position: absolute !important; top: 0px !important; left: 0px !important; height: 0px !important; width: 0px !important;"><template shadowrootmode="closed"><div style="position: absolute; height: 100vh; width: 100vw; z-index: 2147483647; border-radius: 4px; top: 0px; left: 0px; max-height: 0px; max-width: 280px; min-width: auto;"><iframe data-lastpass-infield="true" allow="clipboard-write" src="chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/webclient-infield.html" style="border: none; height: 100%; width: 100%;"></iframe></div></template></div></body></html> |