<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="bbPress/1.0.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>冒号论坛 &#187; Tag: abstraction - Recent Topics</title>
		<link>http://bbs.zhenghui.org/tags/abstraction</link>
		<description>冒号论坛 &raquo; Tag: abstraction - Recent Topics</description>
		<language>en-US</language>
		<pubDate>Wed, 08 Sep 2010 12:49:41 +0000</pubDate>
		<generator>http://bbpress.org/?v=1.0.2</generator>
		<textInput>
			<title><![CDATA[Search]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>http://bbs.zhenghui.org/search.php</link>
		</textInput>
		<atom:link href="http://bbs.zhenghui.org/rss/tags/abstraction/topics" rel="self" type="application/rss+xml" />

		<item>
			<title>Todd on "UML感想"</title>
			<link>http://bbs.zhenghui.org/topic/uml%e6%84%9f%e6%83%b3#post-154</link>
			<pubDate>Fri, 09 Jul 2010 18:05:45 +0000</pubDate>
			<dc:creator>Todd</dc:creator>
			<guid isPermaLink="false">154@http://bbs.zhenghui.org/</guid>
			<description>&#60;p&#62;如果把系统视为一个多维对象，那么UML的用例图、类图、序列图、状态图等是在不同维度上对该对象建立的视图。抽象的角度不同，抽象的结果就不同，根据不同的需要选择不同的抽象角度。不知道这样理解UML是否正确？
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Todd on "需求与设计的关系"</title>
			<link>http://bbs.zhenghui.org/topic/%e9%9c%80%e6%b1%82%e4%b8%8e%e8%ae%be%e8%ae%a1%e7%9a%84%e5%85%b3%e7%b3%bb#post-166</link>
			<pubDate>Mon, 02 Aug 2010 19:29:59 +0000</pubDate>
			<dc:creator>Todd</dc:creator>
			<guid isPermaLink="false">166@http://bbs.zhenghui.org/</guid>
			<description>&#60;p&#62;最近在学习TDD的过程中，我对需求与设计的关系进行了一些思考，我发现：系统A的&#60;strong&#62;需求&#60;/strong&#62;决定了A的外部特征，这是系统A不变的部分；系统A的&#60;strong&#62;设计&#60;/strong&#62;是如何将A划分为有关联的若干子系统a1,a2...an，这就是系统A的可变部分；系统A的设计又转化为对其子系统a1,a2,...an的&#60;strong&#62;需求&#60;/strong&#62;。如果把视野扩宽，系统A的需求也必然产生于更大的系统中的设计。所以，软件需求是来源于更高层次的设计的。对于软件来说产品设计处于最高层，产品设计来源于对用户需求的理解（可能并不明确，需要自己探索）。
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Todd on "范畴论讲什么？"</title>
			<link>http://bbs.zhenghui.org/topic/%e8%8c%83%e7%95%b4%e8%ae%ba%e8%ae%b2%e4%bb%80%e4%b9%88%ef%bc%9f#post-133</link>
			<pubDate>Wed, 16 Jun 2010 10:05:35 +0000</pubDate>
			<dc:creator>Todd</dc:creator>
			<guid isPermaLink="false">133@http://bbs.zhenghui.org/</guid>
			<description>&#60;p&#62;记得郑老师曾经讲过范畴论(category theory)和程序类型系统是相通的，但是后者要简单得多。我想了解范畴论是讲什么的，尤其是还涉及了哪些方面是一般程序类型系统没有的？
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Jee on "菜鸟读《冒号课堂》后的感触，望郑晖老师解惑"</title>
			<link>http://bbs.zhenghui.org/topic/%e8%8f%9c%e9%b8%9f%e8%af%bb%e3%80%8a%e5%86%92%e5%8f%b7%e8%af%be%e5%a0%82%e3%80%8b%e5%90%8e%e7%9a%84%e6%84%9f%e8%a7%a6%ef%bc%8c%e6%9c%9b%e9%83%91%e6%99%96%e8%80%81%e5%b8%88%e8%a7%a3%e6%83%91#post-115</link>
			<pubDate>Tue, 01 Jun 2010 13:14:33 +0000</pubDate>
			<dc:creator>Jee</dc:creator>
			<guid isPermaLink="false">115@http://bbs.zhenghui.org/</guid>
			<description>&#60;p&#62;之前在Top language里的一位网友像我推荐您的《冒号课堂》，书中eric向您建议开设社区，我猜测可能会有，就找到您的博客发现此地，很幸运您是一个如此有责任心的作者。&#60;br /&#62;
    我是一名没有什么理论基础的不合格的计算机专业毕业生，毕业后却对软件方面技术非常感兴趣，可能与个性有关。于是在这近2年的找工作和工作过程中看了一些书，也和一些过来人聊过，总体来说让我对软件编程有了一点认识。在阅读您的冒号课堂之前，我曾一度认为我所差的是经验和一些诸如高级算法之类的进阶技术，可现在，一个用了一个多月时间的夜晚阅读《冒号课堂》之后的我发现我所差的不仅仅是那些，而是最基础最根本的对计算机本身的认识，对数学的认识，对软件工程的认识。&#60;br /&#62;
    我不想能有速成一说，只想能够现在正视自己，脚踏实地的一点一点的学习和进步，哪怕让我自学4年大学课程也未尝不可，只是有些时候有点找不到一个开始。我数学不好，作为一名程序员我想这是个令人沮丧的事实，我英语也不好，当看到蹩脚的一些翻译著作后痛苦不已。我想尝试着去改变这些，但是却不知该如何去做，您知道，作为一名已经进入社会的成年人，我需要承受一些生存的压力和一些生活的负担，我希望能更好的利用每天那抽出来的时间，所以望郑晖老师能给我指出一条明道。&#60;br /&#62;
    我一直没有说我从事的语言和方向，因为我知道这并不是核心，也不是想从您这得到如何学习XX语言等。万分打扰，还望见谅。
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Todd on "抽象是什么？"</title>
			<link>http://bbs.zhenghui.org/topic/%e6%8a%bd%e8%b1%a1%e6%98%af%e4%bb%80%e4%b9%88%ef%bc%9f#post-5</link>
			<pubDate>Fri, 01 Jan 2010 13:30:06 +0000</pubDate>
			<dc:creator>Todd</dc:creator>
			<guid isPermaLink="false">5@http://bbs.zhenghui.org/</guid>
			<description>&#60;p&#62;看了本书以后，我对“抽象”的感觉提高了。但对于程序设计来讲，到底抽象是什么呢？我现在的答案是“抽象就是变化中的不变”。封装，继承，多态，还有设计原则和设计模式是帮助把不变显式化的机制。
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Todd on "为什么是这4个原则？"</title>
			<link>http://bbs.zhenghui.org/topic/%e4%b8%ba%e4%bb%80%e4%b9%88%e6%98%af%e8%bf%994%e4%b8%aa%e5%8e%9f%e5%88%99%ef%bc%9f#post-93</link>
			<pubDate>Wed, 24 Mar 2010 14:57:58 +0000</pubDate>
			<dc:creator>Todd</dc:creator>
			<guid isPermaLink="false">93@http://bbs.zhenghui.org/</guid>
			<description>&#60;p&#62;设计原则有很多，比如熟悉的DRY，SOLID等原则。本书选择了间接，依赖，内聚和保变4个设计原则作为大的分类。这样选择的用意是什么呢？&#60;/p&#62;
&#60;p&#62;SCIP先讲了抽象（等同于间接），然后讲模块化（等同于内聚），可能SCIP的作者也认为抽象和内聚应该是一级原则。下面是SCIP的一段话：&#60;/p&#62;
&#60;p&#62;The preceding chapters introduced the basic elements from which programs are made. We saw how primitive procedures and primitive data are combined to construct compound entities, and we learned that abstraction is vital in helping us to cope with the complexity of large systems. But these tools are not sufficient for designing programs. Effective program synthesis also requires organizational principles that can guide us in formulating the overall design of a program. In particular, we need strategies to help us structure large systems so that they will be modular, that is, so that they can be divided &#60;code&#62;&#60;/code&#62;naturally'' into coherent parts that can be separately developed and maintained.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Todd on "数据是什么？"</title>
			<link>http://bbs.zhenghui.org/topic/%e6%95%b0%e6%8d%ae%e6%98%af%e4%bb%80%e4%b9%88%ef%bc%9f#post-85</link>
			<pubDate>Fri, 19 Mar 2010 10:22:32 +0000</pubDate>
			<dc:creator>Todd</dc:creator>
			<guid isPermaLink="false">85@http://bbs.zhenghui.org/</guid>
			<description>&#60;p&#62;今天看了SCIP的数据抽象一节，然后结合之前《冒号课堂》的内容，我感觉对数据的认识又深入了一些。&#60;/p&#62;
&#60;p&#62;我现在对数据的认识是：数据在程序中是一个符号和该符号上的操作规则。比如：定义了一个符号pair，若pair = make_pair(x, y)则left(pair) == x, right(pair) == y。pair本身只是一个符号，它的特征是由其相关的一系列操作（包括构造和使用两类）所体现的。OOP的数据抽象正是以数据为中心组织操作。不知道理解对不对？&#60;/p&#62;
&#60;p&#62;参考文章：&#60;br /&#62;
&#60;a href=&#34;http://mitpress.mit.edu/sicp/full-text/sicp/book/node30.html&#34; rel=&#34;nofollow&#34;&#62;http://mitpress.mit.edu/sicp/full-text/sicp/book/node30.html&#60;/a&#62;
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Todd on "抽象机制"</title>
			<link>http://bbs.zhenghui.org/topic/%e6%8a%bd%e8%b1%a1%e6%9c%ba%e5%88%b6#post-47</link>
			<pubDate>Fri, 12 Feb 2010 19:31:13 +0000</pubDate>
			<dc:creator>Todd</dc:creator>
			<guid isPermaLink="false">47@http://bbs.zhenghui.org/</guid>
			<description>&#60;p&#62;第7课P186讲到：借助这两种抽象机制（参数抽象和规范抽象），我们可以实现五类基本抽象：过程抽象、数据抽象、迭代抽象、类型层级、多态抽象。&#60;/p&#62;
&#60;p&#62;还不是很明白这两种抽象机制与五类基本抽象的关系。比如：迭代抽象如何体现了参数抽象和规范抽象。
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Todd on "保变原则"</title>
			<link>http://bbs.zhenghui.org/topic/%e4%bf%9d%e5%8f%98%e5%8e%9f%e5%88%99#post-26</link>
			<pubDate>Sun, 10 Jan 2010 23:05:42 +0000</pubDate>
			<dc:creator>Todd</dc:creator>
			<guid isPermaLink="false">26@http://bbs.zhenghui.org/</guid>
			<description>&#60;p&#62;今天看了一篇文章之后才发现原来保变原则是如此通用的一个原则：常见的配置文件技术是保变原则的体现，支持脚本引擎的构架设计也是保变原则的体现。
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Todd on "异常机制"</title>
			<link>http://bbs.zhenghui.org/topic/%e5%bc%82%e5%b8%b8%e6%9c%ba%e5%88%b6#post-15</link>
			<pubDate>Wed, 06 Jan 2010 13:22:44 +0000</pubDate>
			<dc:creator>Todd</dc:creator>
			<guid isPermaLink="false">15@http://bbs.zhenghui.org/</guid>
			<description>&#60;p&#62;与C语言的error code机制相比，异常机制是否主要是一种SoC原则的体现呢？
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Todd on "top-down vs bottom-up"</title>
			<link>http://bbs.zhenghui.org/topic/top-down-vs-bottom-up#post-13</link>
			<pubDate>Tue, 05 Jan 2010 09:38:54 +0000</pubDate>
			<dc:creator>Todd</dc:creator>
			<guid isPermaLink="false">13@http://bbs.zhenghui.org/</guid>
			<description>&#60;p&#62;在重读本书的过程中对top-down和bottom-up有了一些新的认识。命令式侧重top-down的设计方式，即模块的分解(decomposition)；对象式侧重bottom-up的设计方式，即模块的合成(composition)。&#60;/p&#62;
&#60;p&#62;通过top-down方式分解获得的模块不一定易于在其它地方进行合成复用，而bottom-up方式获得的模块更易被其它地方合成复用。&#60;/p&#62;
&#60;p&#62;另外，top-down和bottom-up在命令式和对象式都是有的，只是侧重不同。在OO中也有top-down设计，比如框架设计就是典型的top-down设计；命令式也有bottom-up，比如的c std library。&#60;/p&#62;
&#60;p&#62;不知道上面的理解是否正确？
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
