<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>冒号空间 &#187; 对象导向</title>
	<atom:link href="http://blog.zhenghui.org/tag/object-oriented/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.zhenghui.org</link>
	<description>自然、人类、机器</description>
	<lastBuildDate>Fri, 30 Dec 2011 03:14:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>答读者问(2)——关于抽象</title>
		<link>http://blog.zhenghui.org/2011/03/20/words-on-abstraction/</link>
		<comments>http://blog.zhenghui.org/2011/03/20/words-on-abstraction/#comments</comments>
		<pubDate>Sun, 20 Mar 2011 15:27:42 +0000</pubDate>
		<dc:creator>hui</dc:creator>
				<category><![CDATA[冒号课堂]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[对象导向]]></category>
		<category><![CDATA[抽象]]></category>

		<guid isPermaLink="false">http://blog.zhenghui.org/?p=799</guid>
		<description><![CDATA[答一位读者关于抽象的提问 [...]]]></description>
			<content:encoded><![CDATA[<h2><strong>答读者问(2)</strong></h2>
<p>本贴是临时回答一位读者的提问，匆匆草就，以后有空再整理。长时间未发博，此篇权作凑数。</p>
<p><strong>读者</strong>七心葵问：</p>
<blockquote>
<p>个人做linux下c/c++游戏开发，上学的时候一度 “抽象” “隐喻” 这类的东西似懂非懂；后来工作后慢慢觉得其实 “抽象”这个词还是很宽泛的，我一般将“抽象”狭义的理解成 OO里面 接口与实现 的提法，即“有选择地忽略”。 但是我认为在计算机科学或工程中，“抽象”一直有其对立面，“反抽象”，也就是《Unix编程文化》里强调的“浅平透”（个人理解），不知郑老师是否看过此书？对于该书尤其是对于“OO”的评价一节有何看法？ booch的《面向对象分析与设计》中曾经提到，有人做过统计，几乎所有的设计的方法学大体上都可以分为三类：1 结构化设计 2 数据驱动设计 3 面向对象设计。 对于“数据驱动设计（编程）”，我在工作中经常彷徨于是用c的过程式语言+数据驱动设计呢，还是完全OO化设计，郑老师《冒号课堂》一书中似没有提到多少（个人认为LOP可以看作是数据驱动编程的一种高级形式，也就是DSL或者微语言），是否可以做一个简单介绍？</p></blockquote>
<p>&nbsp;</p>

<p><strong>作者</strong>hui答：</p>
<blockquote>
<p>关于抽象，实是大有文章可做。早就计划就此主题展开一系列的讨论，苦于近来项目缠身，一直无暇顾及。The art of UNIX programming毫无疑问是本好书，但要说unix哲学是反抽象，则不太赞同。事实上，unix成功之处恰恰在于充分运用了抽象。“everything is file”就是最典型的抽象，文件这一概念在unix中的广泛而抽象的应用为unix的设计增色不少。unix提倡&#8221;write programs that do one thing and do it well&#8221;，便是强调每个小程序都是具有单一职责的抽象功能体。unix推崇filter模式，并极力推荐遵循规范的plain text作为程序之间最通用的接口。unix强调portability比efficiency更重要，而可移植的通常是普适的、抽象的，为了效率则常常“因地制宜”，其结果是以牺牲抽象为代价。（当然这并不意味着抽象是神圣不可侵犯的，也不意味着抽象越多越好）至于”Write simple parts connected by clean interfaces“，“Separate policy from mechanism; separate interfaces from engines“等更是抽象原则的贯彻。 抽象与封装紧密相关，而在字面上封装似乎与透明相对，或许你因此感到”透“（transparency）是抽象的反面？这恐怕是一种误解。其实”透“意味着简单、干净、优雅、可读性（readability）强、规范（specification）清晰、协议（protocol）明确。比如，text文件比binary文件更简单、更”透“，但并不意味着比后者的抽象程度低。相反，私有的（proprietary）文件格式由于规范程度低或不够公开而导致抽象程度较低，对接口的要求更苛刻，与其他程序难以合作，应用起来范围更狭窄或更困难。总之，unix提倡transparency，鼓励接口简单、明晰，以提高代码的可读性、可维护性，让bug难以藏身，这个与抽象性毫无矛盾。另一个类似的常见误解是，把设计上的封装与源码的封闭关联起来，或者以为封装的目的是为了代码的安全性，这些都源于对抽象或封装的认识上的模糊。此外，你提到的“浅、平”，或许指unix提倡的KISS原则（Keep it Simple, Stupid）。不过抽象本不一定意味着复杂、深奥，它只是处理复杂的一种行之有效的手段。<strong>如果抽象解决的复杂不及其带来的复杂，则说明该抽象是不当的</strong>。文字有时候是有欺骗性的。《冒号课堂》的附注中曾提到一个例子，正是transparent。很多时候它在英文中的意思不是“因透明而看得见”，而是”因透明而看不见“。如果一个接口后面的机制对用户而言是transparent的，正说明它是抽象的，而不是相反。另外值得指出的是，抽象是一个相对的概念，脱离上下文来谈论抽象或具体是毫无意义的。</p>
<p>提到对OO的评价，拥趸固然众多，大唱反调为数亦不少，其中不乏业界名流。如Linux之父Linus Torvalds，STL之父Alexander Stepanov，包括The art of UNIX programming的作者Eric Raymond都曾对OOP作出了十分尖锐的批判。其实名人同样会偏激，甚至比普通人更偏激，因为他们有牛气、有傲气、有底气。他们的批判或许一针见血，但一般人既无深厚的功力，又不了解评论的背景，看看热闹可以，动辄怀疑正在使用的技术就大可不必了。（这就好比一位手持木剑的高手胜了一位手持铁剑的低手，然后不屑地对后者说：其实，木剑更锋利）一切技术都只是工具，决定因素还是使用者对工具的理解程度和熟练程度。相比过程式，OO（准确地说，是融合过程式的OO）从理论上说肯定是更为强大，因为它在前者的基础上增加了新的抽象机制。但如果不理解抽象的本质，为了OO而OO，代码可能比纯粹过程式的更糟。高级的工具并不一定能带来高级的产品。这里多说一句，技术人员在没有达到足够火候的时候，不要随意臧否某项技术。当你尽情吹捧它时，小心背后的陷阱；当你大肆批驳它时，你可能根本未解其妙。淡定，淡定。</p>
<p>Booch提到的三类软件设计方法：Top-down structured design、Data-driven design与Object-oriented design自然都是重要的设计方式，但还存在其他的方法，如event-driven，stream-processing、logic-driven、knowledge-driven等。你提到究竟该用过程式语言+数据驱动设计，还是完全OO化设计，很抱歉，我只能回答：无法一概而论，因项目需求而异、因开发者而异。（不过“<strong>完全</strong>OO化”从来是不必要的）一方面，不同的项目domain不同，有的侧重数据、有的侧重算法、有的侧重流程、有的侧重交互、有的侧重事件，相应采用的设计与语言也会有所分别。另一方面，与开发者对设计方法和语言的有关，如果你特别擅长C，对C++不熟悉或者不喜欢，那么完全不必一定要用OO。（当然，OO思想同样可以用C来实现）</p>
<p>LOP与数据驱动还是有分别的，它更侧重的主要不是数据，而是某个特殊领域。它通过提高语言的抽象性（更贴近所关注的高层领域逻辑，远离底层语言的细节）来提高代码的可读性、可维护性和开发者的效率。</p>
<p>希望以上简略的回答能对你有所帮助，时间有限，恕未能完全展开。待得空时，会在这方面进行更具体、更深入的阐述。</p>
<p>&nbsp;</p>
</blockquote>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.zhenghui.org%2F2011%2F03%2F20%2Fwords-on-abstraction%2F&amp;title=%E7%AD%94%E8%AF%BB%E8%80%85%E9%97%AE%282%29%E2%80%94%E2%80%94%E5%85%B3%E4%BA%8E%E6%8A%BD%E8%B1%A1" id="wpa2a_2">分享/保存</a></p><h3  class="related_post_title">相关文章</h3><ul class="related_post"><li>2011年04月18日 -- <a href="http://blog.zhenghui.org/2011/04/18/more-words-on-abstraction/" title="答读者问(3)——再谈抽象">答读者问(3)——再谈抽象</a> (1)</li><li>2010年06月3日 -- <a href="http://blog.zhenghui.org/2010/06/03/advice-on-programmer/" title="答读者问(1)——对程序员的一些个人建议">答读者问(1)——对程序员的一些个人建议</a> (6)</li><li>2010年03月10日 -- <a href="http://blog.zhenghui.org/2010/03/10/colonclass-sales-tw/" title="《冒号课堂》在台湾上市">《冒号课堂》在台湾上市</a> (5)</li><li>2010年01月1日 -- <a href="http://blog.zhenghui.org/2010/01/01/colonclass-bbs-openning/" title="《冒号论坛》开放">《冒号论坛》开放</a> (1)</li><li>2009年11月7日 -- <a href="http://blog.zhenghui.org/2009/11/07/colonclass-suggestions/" title="《冒号课堂》意见收集">《冒号课堂》意见收集</a> (56)</li><li>2009年10月26日 -- <a href="http://blog.zhenghui.org/2009/10/26/colonclass-sales/" title="《冒号课堂》上市">《冒号课堂》上市</a> (8)</li><li>2009年10月16日 -- <a href="http://blog.zhenghui.org/2009/10/16/preface-of-colonclass/" title="《冒号课堂》自序">《冒号课堂》自序</a> (7)</li><li>2009年08月29日 -- <a href="http://blog.zhenghui.org/2009/08/29/colon-class-1_4/" title="冒号课堂§1.4：初识范式">冒号课堂§1.4：初识范式</a> (2)</li><li>2009年08月21日 -- <a href="http://blog.zhenghui.org/2009/08/21/contents-of-colonclass/" title="《冒号课堂》目录">《冒号课堂》目录</a> (29)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.zhenghui.org/2011/03/20/words-on-abstraction/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>冒号课堂§1.4：初识范式</title>
		<link>http://blog.zhenghui.org/2009/08/29/colon-class-1_4/</link>
		<comments>http://blog.zhenghui.org/2009/08/29/colon-class-1_4/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 14:29:27 +0000</pubDate>
		<dc:creator>hui</dc:creator>
				<category><![CDATA[冒号课堂]]></category>
		<category><![CDATA[对象导向]]></category>
		<category><![CDATA[编程范式]]></category>
		<category><![CDATA[编程语言]]></category>
		<category><![CDATA[面向对象]]></category>

		<guid isPermaLink="false">http://blog.zhenghui.org/?p=303</guid>
		<description><![CDATA[<b>初识范式</b>——程序王国中的世界观与方法论（<em>初步引入编程范式</em>）<br/> • 得形而忘意，无异舍本逐末；得意而忘形，方能游刃有余<br/> • 当你编程之时，便进入到自己创造的世界之中。这是你的世界，只有注入你的想象力、创造力和激情，它才有勃勃生机。你编写的岂止是代码，分明还有乐曲；你敲击的岂止是键盘，分明还有琴键；你运行的岂止是程序，分明还有世界。当优美的旋律奏起，整个世界都随之翩然起舞，一种莫可名状的满足是否会充溢你的全身？<br/> • 找对象是“对象导向”的，去约会是“面向对象”的 [...]]]></description>
			<content:encoded><![CDATA[<h1 style="text-align: center"><span style="font-family: 宋体">冒号课堂</span></h1>
<strong><span style="font-size: 13pt; font-family: 宋体">第一课 开班导言(4)</span></strong>

<!-- below comes from generated html -->
<head><link rel="stylesheet" href="http://blog.zhenghui.org/css/colonclass.css" type="text/css"></head>
 
<div lang="zh-CN" class="article" title="初识范式"><div class="titlepage"><div><div><h1 class="title"><a name="id599705"></a>1.4 初识范式——程序王国中的世界观与方法论</h1></div><div><div class="author"><h3 class="author">郑晖</h3></div></div><div><div class="abstract" title="摘要"><p class="title"><b>摘要</b></p><p>初步引入编程范式</p></div></div></div><hr /></div><div class="toc"><p><b>目录</b></p><dl><dt><span class="section"><a href="#preview">！预览</a></span></dt><dt><span class="section"><a href="#question">？提问</a></span></dt><dt><span class="section"><a href="#explaination">：讲解</a></span></dt><dt><span class="section"><a href="#note">，插语</a></span></dt><dt><span class="section"><a href="#summary">。总结</a></span></dt><dt><span class="section"><a href="#reference">“”参考</a></span></dt></dl></div><div class="epigraph"><div class="literallayout"><p>言者所以在意，得意而忘言</p></div><div class="attribution"><span>—<span class="attribution">《庄子•外物》</span></span></div></div><div class="section" title="！预览"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="preview"></a>！预览</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
                    得形而忘意，无异舍本逐末；得意而忘形，方能游刃有余
                </p></li><li class="listitem"><p>
                    当你编程之时，便进入到自己创造的世界之中。这是你的世界，只有注入你的想象力、创造力和激情，它才有勃勃生机。你编写的岂止是代码，分明还有乐曲；你敲击的岂止是键盘，分明还有琴键；你运行的岂止是程序，分明还有世界。当优美的旋律奏起，整个世界都随之翩然起舞，一种莫可名状的满足是否会充溢你的全身？
                </p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
                    找对象是“对象导向”的，去约会是“面向对象”的
                </p></li></ul></div></div><div class="section" title="？提问"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="question"></a>？提问</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>什么是编程范式？</p></li><li class="listitem"><p>编程范式与编程语言的关系是什么？</p></li></ul></div></div><div class="section" title="：讲解"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="explaination"></a>：讲解</h2></div></div></div><p>
            问号第一个从小说里走出来，问道：“刚才谈到了低级语言和中级语言，现在该谈高级语言了吧？”
        </p><p>
            冒号微叹：“高级语言大概有近千种，流行的也不下几十种，有时候选择过多反而无所适从啊。”
        </p><p>
            逗号不以为然：“最流行的不就那么几个：Java、C++、C#还有VB吗？”
        </p><p>
            不意此言遭到冒号连珠炮似的反问：“可你知道它们为什么会流行吗？是不是学会这几样就是一个合格的程序员了？它们会不会变得不那么流行，甚至被其他语言取代？如果不会，为什么？如果会，又怎么办？”
        </p><p>
            逗号赧然语塞。
        </p><p>
            冒号口气放缓：“掌握一门语言的语法、工具和技巧固然重要，但那只相当于学会一门兵器的招法，更重要的当然是心法。招法重形，心法重意。<span class="strong"><strong>得形而忘意，无异舍本逐末；得意而忘形，方能游刃有余</strong></span>。下面要谈的就是一种心法：编程范式。”
        </p><p>
            问号不解：“编程范式？听上去很学究，那是什么东东？”
        </p><p>
            冒号续道：“范式译自英文的paradigm，也有译作典范、范型、范例的。所谓<span class="term">编程范式</span>（programming paradigm），指的是计算机编程的基本风格或典范模式。借用哲学的术语，如果说每个编程者都在创造虚拟世界，那么编程范式就是他们置身其中自觉不自觉采用的世界观和方法论。”
        </p><p>
            叹号吸口气：“好抽象哦！”
        </p><p>
            句号心中一动：“您是说我们都是虚拟世界的创造者，都在创造自己的黑客帝国？”
        </p><p>
            大家不禁莞尔。
        </p><p>
            冒号动情地说：“难道不是吗？只不过帝国有大小之分、优劣之别罢了。当你编程之时，便进入到自己创造的世界之中。这是你的世界，只有注入你的想象力、创造力和激情，它才有勃勃生机。你编写的岂止是代码，分明还有乐曲；你敲击的岂止是键盘，分明还有琴键；你运行的岂止是程序，分明还有世界。当优美的旋律奏起，整个世界都随之翩然起舞，一种莫可名状的满足是否会充溢你的全身？”
        </p><p>
            大家都被冒号诗化的语言感染了，没想到编程也可以如此感性。
        </p><p>
            良久，引号试探地问：“面向对象编程就是一种编程范式吧？”
        </p><p>
            冒号点头：“不错，它是时下最流行的一种编程范式。顺便说一句，‘面向对象’ 译自Object-Oriented，但‘面向’二字令人费解。据说有本书叫‘面向对象方法’，比别的计算机书都畅销，知道为什么吗？不少同学把它当成恋爱指南买走了。”
        </p><p>
            全班笑倒。
        </p><p>
            冒号认真地说：“将Object-Oriented译成‘对象导向’<a class="link" href="#note1"><sup>[1]</sup></a>，虽然稍嫌拗口，但更贴切。并非刻意要咬文嚼字，这关系到对编程范式的理解。我们知道，编程是为了解决问题，而解决问题可以有多种视角和思路，其中普适且行之有效的模式被归结为范式。由于着眼点和思维方式的不同，相应的范式自然各有侧重和倾向，因此一些范式常用‘oriented’来描述。换言之，每种范式都引导人们带着某种的倾向去分析问题、解决问题，这不就是‘导向’吗？而‘面向’ 的宾语往往是预先确定的目标，如面向世界、面向未来、面向用户、面向问题等等。此外，‘面向’强调<span class="emphasis"><em>静态结果</em></span>，而‘导向’强调<span class="emphasis"><em>动态趋势</em></span>，显然后者更生动，也更符合编程的特质<a class="link" href="#note2"><sup>[2]</sup></a>。”
        </p><p>
            句号一语惊人：“找对象是‘对象导向’的，去约会是‘面向对象’的。”
        </p><p>
            全班再倒。
        </p><p>
            句号得意地解释：“按梦中情人的标准去找对象，具体目标未定但选择倾向已定，这就是一种导向，而且是对象导向。找到之后再约会，不就面向对象了吗？”
        </p><p>
            众人称绝。
        </p><p>
            “我们是来谈编程范式的，不是来谈对象的。” 冒号一脸的道貌岸然，“编程范式是抽象的，必须通过具体的编程语言来体现。它代表的世界观往往体现在语言的<span class="strong"><strong>核心概念</strong></span>中，代表的方法论往往体现在语言的<span class="strong"><strong>表达机制</strong></span>中。一种范式可以在不同的语言中实现，一种语言也可以同时支持多种范式。任何语言在设计时都会倾向某些范式、同时回避某些范式，由此形成了不同的语法特征和语言风格。”
        </p></div><div class="section" title="，插语"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="note"></a>，插语</h2></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><a name="note1"></a>
                    港澳台地区将其译为“物件导向”。即使单从字面上翻译，oriented是“以&#8230;为方向的；以&#8230;为目的的；导向的；定向的”的意思，也比译为“面向”更合适。
                </p></li><li class="listitem"><p><a name="note2"></a>
                    作为类比，经济学中的“market-oriented”译为“市场导向（或取向）的”的远多于译为“面向市场的”。
                </p></li></ol></div></div><div class="section" title="。总结"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="summary"></a>。总结</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
                    编程范式是计算机编程中的基本风格和典范模式，是编程者在其所创造的虚拟世界中自觉不自觉采用的世界观和方法论。每种范式都引导人们带着其特有的倾向和思路去分析和解决问题。OOP就是一种编程范式。
                </p></li><li class="listitem"><p>
                    Object-Oriented多译作“面向对象”，不如“对象导向”贴切。
                </p></li><li class="listitem"><p>
                    如果把一门编程语言比作兵器，它的语法、工具和技巧等是招法，它采用的编程范式则是心法。
                </p></li><li class="listitem"><p>
                    抽象的编程范式需要通过具体的编程语言来体现。范式的世界观体现在语言的核心概念之中，范式的方法论体现在语言的表达机制中。一种语言的语法和风格与其所支持的编程范式密切相关。
                </p></li></ul></div></div><div class="section" title="“”参考"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="reference"></a>“”参考</h2></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
                    Wikipedia．Programming paradigm．<a class="link" href="http://en.wikipedia.org/wiki/Programming_paradigm" target="_top">http://en.wikipedia.org/wiki/Programming_paradigm</a>
                </p></li><li class="listitem"><p>
                    Stephen H. Kaisler．SOFTWARE PARADIGMS．New Jersey：Wiley，2005．21-22
                </p></li></ol></div></div></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.zhenghui.org%2F2009%2F08%2F29%2Fcolon-class-1_4%2F&amp;title=%E5%86%92%E5%8F%B7%E8%AF%BE%E5%A0%82%C2%A71.4%EF%BC%9A%E5%88%9D%E8%AF%86%E8%8C%83%E5%BC%8F" id="wpa2a_4">分享/保存</a></p><h3  class="related_post_title">相关文章</h3><ul class="related_post"><li>2009年09月17日 -- <a href="http://blog.zhenghui.org/2009/09/17/colon-class-4_3/" title="冒号课堂§4.3：汇总范式">冒号课堂§4.3：汇总范式</a> (5)</li><li>2009年09月13日 -- <a href="http://blog.zhenghui.org/2009/09/13/colon-class-4_1/" title="冒号课堂§4.1：函数范式">冒号课堂§4.1：函数范式</a> (0)</li><li>2011年03月20日 -- <a href="http://blog.zhenghui.org/2011/03/20/words-on-abstraction/" title="答读者问(2)——关于抽象">答读者问(2)——关于抽象</a> (6)</li><li>2009年09月27日 -- <a href="http://blog.zhenghui.org/2009/09/27/colon-class-5_4/" title="冒号课堂§5.4：语言误区">冒号课堂§5.4：语言误区</a> (0)</li><li>2009年09月21日 -- <a href="http://blog.zhenghui.org/2009/09/21/colon-class-5_1/" title="冒号课堂§5.1：教学计划">冒号课堂§5.1：教学计划</a> (1)</li><li>2009年09月19日 -- <a href="http://blog.zhenghui.org/2009/09/19/colon-class-4_4/" title="冒号课堂§4.4：情景范式">冒号课堂§4.4：情景范式</a> (0)</li><li>2009年09月15日 -- <a href="http://blog.zhenghui.org/2009/09/15/colon-class-4_2/" title="冒号课堂§4.2：逻辑范式">冒号课堂§4.2：逻辑范式</a> (0)</li><li>2009年09月11日 -- <a href="http://blog.zhenghui.org/2009/09/11/colon-class-3_4/" title="冒号课堂§3.4：事件驱动">冒号课堂§3.4：事件驱动</a> (2)</li><li>2009年09月10日 -- <a href="http://blog.zhenghui.org/2009/09/10/colon-class-3_3/" title="冒号课堂§3.3：切面范式">冒号课堂§3.3：切面范式</a> (4)</li><li>2009年09月9日 -- <a href="http://blog.zhenghui.org/2009/09/09/colon-class-3_2/" title="冒号课堂§3.2：超级范式">冒号课堂§3.2：超级范式</a> (2)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.zhenghui.org/2009/08/29/colon-class-1_4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

