﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Life is Good.-随笔分类-Design Pattern</title><link>http://www.cppblog.com/85940806/category/17037.html</link><description>Enhance Tech and English</description><language>zh-cn</language><lastBuildDate>Sat, 11 Jun 2011 18:06:39 GMT</lastBuildDate><pubDate>Sat, 11 Jun 2011 18:06:39 GMT</pubDate><ttl>60</ttl><item><title>Abstract Factory</title><link>http://www.cppblog.com/85940806/archive/2011/06/11/148511.html</link><dc:creator>Mike Song</dc:creator><author>Mike Song</author><pubDate>Sat, 11 Jun 2011 14:47:00 GMT</pubDate><guid>http://www.cppblog.com/85940806/archive/2011/06/11/148511.html</guid><wfw:comment>http://www.cppblog.com/85940806/comments/148511.html</wfw:comment><comments>http://www.cppblog.com/85940806/archive/2011/06/11/148511.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/85940806/comments/commentRss/148511.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/85940806/services/trackbacks/148511.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 名称 								 										Abstract Factory 								 						 						 								结构 								 										 								 						 						 								意图 								提供一个创建一系列相关或相互依赖对象的接口，而无需指定它们具体的类。 						 						 								适用性 				...&nbsp;&nbsp;<a href='http://www.cppblog.com/85940806/archive/2011/06/11/148511.html'>阅读全文</a><img src ="http://www.cppblog.com/85940806/aggbug/148511.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/85940806/" target="_blank">Mike Song</a> 2011-06-11 22:47 <a href="http://www.cppblog.com/85940806/archive/2011/06/11/148511.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Factory Method</title><link>http://www.cppblog.com/85940806/archive/2011/06/11/148510.html</link><dc:creator>Mike Song</dc:creator><author>Mike Song</author><pubDate>Sat, 11 Jun 2011 14:39:00 GMT</pubDate><guid>http://www.cppblog.com/85940806/archive/2011/06/11/148510.html</guid><wfw:comment>http://www.cppblog.com/85940806/comments/148510.html</wfw:comment><comments>http://www.cppblog.com/85940806/archive/2011/06/11/148510.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/85940806/comments/commentRss/148510.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/85940806/services/trackbacks/148510.html</trackback:ping><description><![CDATA[<div><table width="70%" align="center" border="1"><tbody><tr><td>名称</td> 								<td> 										<strong>Factory Method</strong> 								</td> 						</tr> 						<tr> 								<td>结构</td> 								<td> 										<div><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAg0AAACxCAIAAADI7RnkAAAXVklEQVR4nO2dW5KjMAxF2ZP35D15T96T50ONImwgBERH9JxTU1NpwkORJV+/gKkBAABsM33bAAAACA06AQAAe6AT4MYEfny7MAFeEI7gBrWbF3gSQkE4ghvUbl7gSQgF4QhuULt5gSchFIQjuEHt5gWehFAQjuAGtZsXeBJCQTiCG9RuXuBJCAXhCG4cqd1qrbXWXzDm0aATEArCEdzYr91qLfb+gHNqUWstJZ818DGgExAKwhHc2Kndaq3TNOWcdc+U0olL5Jz/hzr0f/iN8CAIR3Bjp3ZLKVlh0NEnEQ/pXtRaU0oiIfJtrcVukT1Vb0opKU1WclKa5EKllHt/6s2gExAKwhHc2KrdpDMx1t2yXTRA99GeR7dFDleRmNWl2J6K1ZhHg05AKAhHcGOrdiulrE5IyHb5LPW+9AZsjyHnLFtUS7QjosKT0ktX/oBINHQCgkE4ghvvdOKnWtc5BtEA2SgKUQ3yrUxcy/6qK50kiGbobn+AP/ND4G9AOIIbO7WbzCuUknW8qLWWUtKZbdleSpYeRZuHmGotKU2yZd7nZwAqpTTvn9owBfJo0AkIBeEIbuyvd5L+gQwQycaUknYy2ty9sMohM9I5Z9koE92iE3pCHX3KOT99+lpBJyAUhCO4Qe3mBZ6EUBCO4Aa1mxd4EkJxNRwPvpwrMi5+hEbt5geehFA46ISLHd/i6faHAmd6gSchFOjEs+0PBc70Ak9CKNCJZ9sfCpzpBZ6EUKATz7Y/FDjTi/ie/O1ZRPh1FsV9PVwunuG7PN3+UOBML+J7Mr6F0CG1fzkGOrHg6faHAmd6Ed+T8S2EkeNSgU4seLr9ofjNTvGf59uF+Yb4FsKIlJoEGDrxAU+3PxQ404v4noxvIayiBbcvFejEgqfbHwqc6UV8T8a3EFaxBbfTsfiaTpSS9d+JlwTUWssNT3kj3B3BmV7E92R8C2GLXgPWpOI7OqFvLpN3zkyfv0/m06dGH3yvGeHuCM70Ir4n41sIW4xlN3YsvqMT9sL2NZbza5BfFfpYudsXKe/srK9cbq3JK2uO9D8Id0dwphfxPRnfQthiq+ysVHxHJ/QVZq21Wn/egikbVQC0q6G9DTFXOiLT8OZLfRuabNRT6Z/6JoPr9sMRcKYX8T0Z30LYwk5lr/I1nZBXkunrzOYXkE06lGRfgWmre+kTqMzYd1vKW5Gb6WroC22OD1IR7o7gTC/ie3LHQu3Hjx8gAqoHO199Ryd0csK+gMwODXWfpcaXt122HxWZ2lIAtJe0OtxWyvvOxHH74Qj7zrQxcHD2qK2NQ76l/LyO+3Wg7c5uYV+0dwQ7jlpK8V1nET8styyUcYLVD/AgvqAT3Vvvx43z52K363uSm+kx6AetC2wVICK0erkr9sNBdpwpBfrpCWstJ6oY+wru+dLT1tX1bakfmWd/jlro+Hbu+GEZ30K4whd0YrU1122UuQmZh7BKoCukJJntdMU8ElV0iySqbvGyHw6yPxYx1vi1lq6LqW+9lrkoGa6001HaTZTmv/Q7tU2go472Xdl5pg1v1bahIjFmX9BtjbFbcs4ygtqWvRB0Av4MX+lPlLFLPm4spXS3VsiwUq1Vt+tn282fN5buQC/74SA7zpS6tc605XCESr7W5vMM1k8dbT9oi0HqaP1KD5fOhBUG2dPurB/k0rYPalTqNcJpt+jOXScJnYA/w3fmJ8LydPtDseNMWXQw32j5Enip0HVdg+5vK3HbOdDGhB32mQeOfmp8qei1b6FfyZ5WMPQ8Ypia2pb338hnKwOjYfs//1Pih2V8C+EK6MSCp9sfih1njl/p6JD0A8YJjLFX0eaqWQ6SLfMJsg4lyVdLtfh5/Jl9KIDdeTl8NHUGy9hXt6UzrC117iLxwzK+hXAFdGLB0+0Pxds1MHaLqoKuPrBbZFxR+wQ6VCX72Gp9XvLw6l5oX0SHiXQ8qrPH7tx9pVvscJZewspPt5sL8cMyvoVwBXRiwdPtD8WWM+1YkyJrkOwkswxApZRkqqmUIg15VQKzsmgxQmWXt+lXKU1zD+PV1dBVubKPGfJKnam6s17UHm5HuubLuU1OtCeEpbuF51bEHTlttyD7+IGfXmtcsLOz0G6M2INWdU0iaWN9aupb0IkFT7c/FF9x5heX52t3RDo/jmeOH5Zf1Ak7meR42uUlfBZk7yy87ObVDnL3gmwFnVjwdPtD8fvOLCXfkSQH0UV37kIVPyy3+47zfFG2axSL/mnXJbfFUuPS9e3UvXY1c7da+i2rOmFO2K+B1ptpdC1+t1pabJh/4GvttW40e+ZsHjMhn3UZnkiI/JzuEke8NF79iDeOg04seLr9ofh9Z97R445gQPyw3LIwm6euSUt5viX2p/5VtdA5Hl2OrDeyyKnMBNViyfLYn6hLuq90bZsd6lEztFG/vETRsdBurXZ+3d9T7MppPZsZ+Uz2KFUdPbNeOs93jHUTcjtesuLnOzdmf9HrT9/TPY6n2x8KnOlFfE/u6IS9w1Fuk+qqWj2Dvd9ev+10YhxXHHXCLmPr7sGaG+z9VyIG0qVYu0S/eKGZFXT2CUNtqPq7m3X0R6lWdYuqVQO6Q4yXXltGL42OdQGdWPB0+0OBM72I78kdnejGQ3Z1oh7Qib6xfH1+QgZ55kp/9RKHdELMs81/HZWSBRH2R3Vrssf5iT+uE0/nogdAwZlexPfkloV2gF7HncaFalo1L5/1uagBdZKjG8kZdSItGfoT6/fltJ812auXeHURVPbs3Zp6qm4GQqt+M/i2uIe0mjXZqzpx0Ev2R517DNo+k69O3E38hAHlbWEdGc3X6T77IBYvPm126f3b7pbs+yp+2O/ohKmvFyPyzdzsYhrIr/XHaX4+m27RgXvd0jaeK7rFaltbjSwlq5iNl9A5bSs/ebgJ3z5zTNc1dDphf3idHzMjI06jTqx56bU0XCc81AOr684vgk7AXewXVkppfwebnG0eHHAxLJk79Y4fpano26nXXuxOdzZ+2O/ohHudFRn3AZ+D2CG7O2xAJ+AudgpLG0T2SU1t+cTGsYqZzOzf+GxHu6Vb7qKPgZovrUtKXg1b++zI1Uto+o2XPk2ffujEk7GDbF+5ejOrh31BJ+Audgorz89lskPDOjGoc4Zde38+Kqc0STVuO+a6ZKWZRe7ylU4haoegzE+Z1Z3tpXWxoz3hOMXq7qKt2bKtKbRzG/dPe90Ayx1jdGGJ8GNvsgGdgLvYKSxbAckHO984PnpPmNeNvFptukxlXFRjB3Pb3DG3zwTUSyyft9FPTk53Pgt21IkjuwUkvoVwBXQC7mKnjTnNz9iZzPRgpxPdSpW2WN/Sr0Ts1rfY5r/OhKf5httOJ6ydaWNR/H060TXPt3Zzudx9xLcQroBOwF1sFZZt/pvFf71O2D5Bm9Wlzc8/mPdMXX+iu83VjhFt9ydelx5V4Vad0LPtDN24X+4O4lsIV0An4C4Oto7n5YC9TjTzctNsXjhaSp6mKc/MhyyeNbtcpP/zla4stFMgbdYSeTaULmTsdKK7BeyXpyvjh318C+EK6ATcxcG5zXGJ6riD3aJPXNjfbfVz9+Ht/vazWe/k/5y1feKHfXwL4QroBNzFTYX10XMaXK9b7rh/4gjxwz6+hXAFdALu4qbCuumO6GOXvut+7H3ih/2Ohd0tMvYDPAV0Au6CwvIivid3xhh1QUH3AR4EOgF3QWF5Ed+T8S2EK6ATcBcUlhfxPRnfQrgCOgF3QWF5Ed+T8S2EK6ATcBcUlhfxPRnfQrgCOgF3QWF5Ed+T8S2EK6ATcBcT+PHtwnzDt90Dt7Mo7m/F2UGm8AkDT4FYAjhH9Mwht8ELYgngHNEzh9wGL4glgHNEzxxyG7wglgDOET1zyG3wglgCOEf0zCG3wQtiCeAc0TOH3AYviCWAc0TPHHIbvCCWAM4RPXPIbfCCWAI4R/TMIbfBC2IJ4BzRM4fcBi+IJYBzhM4cSWzSG1wgkADOETpz0AlwhEACOEfczLFZTYbDdYgigHPEzRx0AnwZn5YMAEcImjZjPpPhcAXGMAFOEzRt0AnwReOHQAL4lIg5s5XJZDicgzFMgCtEzBl0AnzpX+JIIAF8QriE2c9hMhw+hTFMgIuESxh0AnxZjRkCCeA4sbLlSPaS4XAcxjABrhMrW9AJ8GUnWggkgIMESpXjeUuGwxEYwwRwIVCqTJ/wbWPhAbyNEwIJ4AjR84RMhnMwhgngRfQ8IZPhHAcjhwADeEv0JCGN4QTMdQE4Ej1JSGM4AXNdAI5ETxLSGLwglgDOET1zyG3wglgCOEf0zCG3wQtiCeAc0TOH3AYviCWAc0TPHHIbvCCWAM4RPXPIbfCCWAI4R/TMIbfBC2IJ4BzRM4fcBi+IJYBzRM8cchu8IJYAzhE9c8ht8IJYAjhH9Mwht8ELYgngHNEzh9wGL4glgHNEzxxyG7wglgDOET1zyG3wglgCOEf0zCG3wQtiCeAc0TOH3AYviCWAc0TPHHIbvCCWAM4RPXPIbfCCWAI4R/TMIbfBC2IJ4BzRM4fcBi+IJYBzvDLno1fPg/LFwoOPoLAAzrHQiS/a8VBwmuXLiv23+HZhArxAJy6B0yx4wws8CaFAJy6B0yx4wws8CaFAJy6B0yx4wws8CaFAJy6B0yx4wws8CaFAJy6B0yx4wws8CaFAJy5xxGn/z/KV/+Rn/gJ4EkKBTlxiy2n/5zLHnZ9Za805p5RyzrXW37RqpJSSUkoplVK+a8kW/0nAwFNAJy5hncZy+K2fWWudpimlVEpOKU3TdKtUiAbsfDtNU8455ywfTlyilHJrmf4nAQNPAZ24BLdNWbZ+Zldx24Z8raWUXKv+WeWrUhbdjnm3ny3yeThJlTOkNKU0mZ2L3XOaJv1TOhbyoc7MZmTb2+i2dBrTfSu2WQs/5T8JGHgKR3VCEkNahXePG+ycX80QTuThp0ft/9iPdGJVNt5u1O0XN/6mAaOXVpvt0rTX/1trpWT5LBulpKTQ7Ra5lhxiTyKDWqoT2o9J6cc2OdWOJaUU0ZJ5y2St0i1WJ6x5y19xsrPS0AkIxiGd0BSttcrne22aplLWE0xyUqoA/fz5yY/qhCT8/tkO8pGRD2VHJ8YClUpc2+/y2TpcK2ItslqL6oSeUOVBNUC7LzZa5JAdndAej3yutWrnQ8SjGZmx407GvDrv/yZs3vKfBAw8hfc6oTmmf9o+vkxO2v54KUU2ag2uu0myidjIxvHbuXX2U4Po5KeeX+00aVlyztrxH63S80h6q+DJJeRw2U0GItQwaYfutAqn7TY4OmG3Wx9KtdsN8Y81rLTHrZx0Ozcz86E0U+lrG19nreWiNjIlsJc6Ma0epb2cZnSiM08yBZ2AP8YRnShjorY5Q7r5QK1YNaO63WzWSX1tv9Wm33w26cfkroUoBkg2akNS6hStOJZWvc6jOqE/KufcDSZIhdBMg3TTfax3Mmz9TOtGK9Xa/tCiHHWiGZnRMJhMp1BPovMBW9Fiw2O+xE9BW52QALBHqQEqD11/wn7b/QpfTwJ8hfM6YdPJdPknbYzbSnw+VZVktnW0bYKZcYafD7JIRiuabn7CDhB3ljSTt9MwMrCqE9NyZrIdG3d67+L/XifaLNW21NpcQIJOX486YQtdysXqxHiSsYlgtcHurye0OiGxYY+y/ZLJtGasZtifhk7AH+PMuJOM2HRNsE91wh4oOqEDR1Yn5gGlLFtst0OlSyv69k4n5pP/qk78P+x7wxZZt331z27/rc9bJ9k6z9bJd85g/zxi3qqFH0FcQSjOz2N3Awg67tTphO7WfZAz2wa+zihMy3EG6ciPIwmK1QlVNatkeh4d+1Kb54GIye5mfuPJcaf/E7zhBZ6EUFxaF6sbtRk+6sS4WzeBuXaSXpZSmroFJ51tqhPNjAPYkQSdOOlGJ2QmQw43l0vaeFQVWXcf+WzAG17gSQgF99ldAqdZ8IYXeBJCgU5cAqdZ8IYXeBJCgU5cAqdZ8IYXeBJCgU5cAqdZ8IYXeBJCgU5cAqdZ8IYXeBJCgU5cAqdZ8IYXeBJCgU5cAqdZJnDl2+W5x7d9A7ezKG5b8L8ebI8Hp1nwhhfxPRnfQrBM8z3OB0EnPMFpFrzhRXxPxrcQOqSXgE58AZxmwRtexPdkfAth5LhU7OkEnODXyzoueMOL+J6MbyGMSKlJxXVSJwAuQt3hRXxPxrcQVtGC25cKdALugrrDi/iejG8hrGILbqdjgU7AXVB3eBHfk/EthC16DViTCnQC7oK6w4v4noxvIWwxlt3YsUAn4C6oO7yI78n4FsIWW2VnpQKdgLug7vAivifjWwhb2FVPq6ATcCNbdUcduM+Gt6/OPnjUwZ27l2Z7Eb8Wjm/hW+4OxbeXPmfAdZt3FvRvrfh/fGFDHLaCL+eccy7l59/BQC+lnLNB33fbWqv1563sG5f4eUevPeQtOWc9obysV1/Ze9DCtzffxK+Fz1l4rkzdyTmnlErJ8uGmq+z82GmaJBfk7csfVf3HPX/F2+gE3MWOTpwIWfsm9o9ssJk/1wjrVxeDT+tEzln7EwelYlxqcmS3gJyz8FyZ+lJKscVdSvlI5o+T0qF2wKcGHPf8jgGfXiV6OMKD+EgnpAZPKWmS6JZaf2bSJJ9rLd2eKU2ys15R6/ppmuzl5Cj5UyoIPY805aSul43y7b55VnhsdXMwJ/+8TkitJy4Sx6pXbZmqu7SWTGmSAtJmvnX+vPPKV7pFCsXeRyaapHIujFolf3bh0ebgsVHR7SMXlStuRddoYdvQCTlWP8+58NMQ0ZPLscsgn+w+Yq014AToBNzFwXGn1lqttcsZ26qSuNckGesUHUoyGpC1mlDNkGa+7GM7DVpxaH9CLZev7M5ihjVPrt71QrrK6KCLxinE1e2r+x/fuH/a6wZY7BSorea0+tsq05QmiY1SXmNB3VXGr5Zh81M/agnKCTsJX7W8C49OcsYQkh+iqrAaXbb67hwiUap21voK3fkMCw2wnpw2dEL3sS5dLaMjoBNwF/s60U3cacNTjhpbebKl1ldFYDsN3Zau+rBVhmSUtlWlTap609bqCJuEZT7AzknICW1j7eDY2qgTR3YLyI5OLAX1p3HQlfKqTsxbfhoTbajpxq9sE0QVXafBZEvXpp6G+YCuHWCCamGSnNkeaKvmMbpWLVQFGqfr9HLWt3KJTqrbuk70JYJOQER2dKKrQyUtbZVh2+PzdtGJOibwMpEmW9HbLFK10Gq9W2dyRSesgLVlG/Ctl962yv+MTnQOd9cJHeCyTRAde5nr7kW5pOV8lZRjpxOrJnX7tKEJP/zYl050Fq5675xO1FrlQLtP5+QToBNwF8d1QlpYbV6P1Ex9YbsIGu7aH+8GBNowU22q/tfo8DhoYM8z6sQ4VlDNWNa0Nu409oeu8Dd0Ym0kRMv0Z7DFjPWf0Ylx3KkZndDRfIuUoA7jjGG2JmavDkozVXM3f9D96jG6uq869HLaI9FjNV90WE/3yTkbYxaDsVeiCJ2Au9ipO8Y6VOt3TXXpAZgmW7HTDFYMbAXdtbbGnNSrj+fRtp5etNu56+WkeVZcK5Txui48VyeqmXlqZvJ//nZRptIJ06km2UdCQg+3J1/9SsPGDmlqW7s7gxqphtnylY3aLxxN6qLi7eFzdV/mSemVALa+sr80LafxNXR143y52m3pwnu80BHQCbiLr9RuW3XBL2CrjyOTE8d5rk7A3wCdgLv4/bpDml2OAz6fon1/39PGr4XjWwhXQCfgLqg7vIjvyfgWwhXQCbgL6g4v4nsyvoVwBXQC7oK6w4v4noxvIVwBnYC7oO7wIr4n41sIV0An4C6oO7yI78n4FsIV0Am4C+oOL+J7Mr6FcAV0Au6CusOL+J6MbyFcAZ2Au6Du8CK+J+NbCFdAJ+AuqDu8iO/J+BbCFdAJuAvqDi/iezK+hXAFdALuYgI/vl2Yb/i2e+B2FsX9rTgDAIBHgE4AAMAe/wALoQg7nkNaiwAAAABJRU5ErkJggg==" alt="" /></div><br /> 								</td> 						</tr> 						<tr> 								<td>意图</td> 								<td>定义一个用于创建对象的接口，让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。</td> 						</tr> 						<tr> 								<td>适用性</td> 								<td> 										<ul><li>当一个类不知道它所必须创建的对象的类的时候。  </li><li>当一个类希望由它的子类来指定它所创建的对象的时候。  </li><li>当类将创建对象的职责委托给多个帮助子类中的某一个，并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。 </li></ul> 								</td> 						</tr> 						<tr> 								<td> 								<br /></td> 								<td> 								<br /></td></tr></tbody></table></div><br /><div><img src="data:image/png;base64,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" alt="" /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">namespace</span><span style="color: #000000; ">&nbsp;FactoryMethod<br />{<br />&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">abstract</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;LightFactory<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">abstract</span><span style="color: #000000; ">&nbsp;Light&nbsp;CreateLight();<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;BulbLightFactory&nbsp;:&nbsp;LightFactory<br />&nbsp;&nbsp;{&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">override</span><span style="color: #000000; ">&nbsp;Light&nbsp;CreateLight()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;BulbLight();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;TubeLightFactory&nbsp;:&nbsp;LightFactory<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">override</span><span style="color: #000000; ">&nbsp;Light&nbsp;CreateLight()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;TubeLight();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br />}<br /></span></div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">namespace</span><span style="color: #000000; ">&nbsp;FactoryMethod<br />{<br />&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">abstract</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;Light<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">abstract</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;TurnOn();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">abstract</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;TurnOff();<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;BulbLight&nbsp;:&nbsp;Light<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">override</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;TurnOn()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Bulb&nbsp;Ligh&nbsp;is&nbsp;Turned&nbsp;on.\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">override</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;TurnOff()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Bulb&nbsp;Ligh&nbsp;is&nbsp;Turned&nbsp;off.\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;TubeLight&nbsp;:&nbsp;Light<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">override</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;TurnOn()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Tube&nbsp;Ligh&nbsp;is&nbsp;Turned&nbsp;on.\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">override</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;TurnOff()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Tube&nbsp;Ligh&nbsp;is&nbsp;Turned&nbsp;off.\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br />}</span></div><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="color: #0000FF; ">namespace</span><span style="color: #000000; ">&nbsp;FactoryMethod<br />{<br />&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;Client<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;Main()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LightFactory&nbsp;BulbFactory&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;BulbLightFactory();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LightFactory&nbsp;TubeFactory&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;TubeLightFactory();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Light&nbsp;l1&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;BulbFactory.CreateLight();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Light&nbsp;l2&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;TubeFactory.CreateLight();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l1.TurnOn();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l1.TurnOff();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">===============\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l2.TurnOn();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l2.TurnOff();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}<br />}</span></div></div><img src ="http://www.cppblog.com/85940806/aggbug/148510.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/85940806/" target="_blank">Mike Song</a> 2011-06-11 22:39 <a href="http://www.cppblog.com/85940806/archive/2011/06/11/148510.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Observer </title><link>http://www.cppblog.com/85940806/archive/2011/06/11/148509.html</link><dc:creator>Mike Song</dc:creator><author>Mike Song</author><pubDate>Sat, 11 Jun 2011 14:32:00 GMT</pubDate><guid>http://www.cppblog.com/85940806/archive/2011/06/11/148509.html</guid><wfw:comment>http://www.cppblog.com/85940806/comments/148509.html</wfw:comment><comments>http://www.cppblog.com/85940806/archive/2011/06/11/148509.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/85940806/comments/commentRss/148509.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/85940806/services/trackbacks/148509.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->名称 								 										Observer 								 						 						 								结构 								 										 								 						 	...&nbsp;&nbsp;<a href='http://www.cppblog.com/85940806/archive/2011/06/11/148509.html'>阅读全文</a><img src ="http://www.cppblog.com/85940806/aggbug/148509.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/85940806/" target="_blank">Mike Song</a> 2011-06-11 22:32 <a href="http://www.cppblog.com/85940806/archive/2011/06/11/148509.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>