<?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: class - Recent Topics</title>
		<link>http://bbs.zhenghui.org/tags/class</link>
		<description>冒号论坛 &raquo; Tag: class - Recent Topics</description>
		<language>en-US</language>
		<pubDate>Wed, 08 Feb 2012 23:39:40 +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/class/topics" rel="self" type="application/rss+xml" />

		<item>
			<title>Lumj on "不知冒号老师对public static void Main现象怎么看?"</title>
			<link>http://bbs.zhenghui.org/topic/%e4%b8%8d%e7%9f%a5%e5%86%92%e5%8f%b7%e8%80%81%e5%b8%88%e5%af%b9public-static-void-main%e7%8e%b0%e8%b1%a1%e6%80%8e%e4%b9%88%e7%9c%8b#post-255</link>
			<pubDate>Fri, 17 Dec 2010 20:13:24 +0000</pubDate>
			<dc:creator>Lumj</dc:creator>
			<guid isPermaLink="false">255@http://bbs.zhenghui.org/</guid>
			<description>&#60;p&#62;冒号老师,我快把你的书看完了,在最后一章,哈哈,对书里对抽象的讨论非常喜欢&#60;br /&#62;
第一次在这发帖,想听听在一些我感兴趣的问题上你是怎么看的&#60;br /&#62;
Java,c#都不允许全局函数,从而程序的入口点也必须成为某class的static方法,这一点上我好像还没听到哪位身边的朋友对其持批评态度的.不知你是怎么看的?&#60;br /&#62;
我的观点呢..其实很激烈,我认为这个设计很愚蠢.我想先不列出我认为这样的设计不合理的理由,先听听你是怎么看的?&#60;br /&#62;
我就先说一个很直白的理由吧:&#60;br /&#62;
我记得我第一次写下这个class时在给它起什么名上翻覆良久,最后实在无法,就随便拿了个名字来,好赶快写下面的&#60;br /&#62;
而给它起名如此痛苦,并非一种描述无能,而是,我根本不知道它是什么!我想我的脑中根本就没有这样一个&#34;class&#34;!&#60;br /&#62;
程序设计这项活动的本质便是把问题空间(逻辑空间)至代码空间作一个映射,而这个class我却在问题空间中完全找不到,它存在的意义是什么?&#60;br /&#62;
无法给它作身份定位.如果给变量起名,我知道,它维持程序的状态,也往往映射到逻辑空间中的某个对象;给class起名,我知道,它是逻辑空间中的概念在代码中的对应体;给namespace起名,我知道,它象征了论域,语境.而对这个天上掉下来的class,我实在无法想象它是以什么身份出现在我这的&#60;br /&#62;
嗯,先说这些,冒号老师你怎么看?&#60;br /&#62;
呃,再多说一句,我至今很奇怪,我几乎没有听闻在这个设计上有引起争议?(也可能是我的信息范围比较小吧,呵呵)
&#60;/p&#62;
</description>
		</item>
		<item>
			<title>Todd on "成员方法的疑问"</title>
			<link>http://bbs.zhenghui.org/topic/%e6%88%90%e5%91%98%e6%96%b9%e6%b3%95%e7%9a%84%e7%96%91%e9%97%ae#post-73</link>
			<pubDate>Tue, 02 Mar 2010 22:09:24 +0000</pubDate>
			<dc:creator>Todd</dc:creator>
			<guid isPermaLink="false">73@http://bbs.zhenghui.org/</guid>
			<description>&#60;p&#62;OOP是以数据为中心组织算法的。OOP把面向过程的函数变成了类的成员方法的过程，也是过程抽象到数据抽象的转变过程。但我发现，即使在OOP中过程抽象似乎还有存在的意义，特别是，我常对成员方法的设计还是有感觉拿不准的地方。比如：&#60;/p&#62;
&#60;p&#62;1.STL中的算法多是作为函数提供的，没有作为容器类的成员方法。对于这个问题，我觉得STL的设计有它的合理的一面：因为sort，transform等算法本身也是一种被人所熟知的概念，它的独立存在是对概念的直接表达；独立性也增强了算法的普适性。但这样的设计也有缺点：对象的行为不够饱满；用户不仅需要获取对象，还需要依赖额外的算法，没有达到数据抽象的高内聚效果。了解mixin以后，我觉得也许mixin是解决这个问题的更好方法：既保持算法的独立性；又可以方便地混入对象达到数据对算法的吸附作用。&#60;/p&#62;
&#60;p&#62;2.对于存在交互情况，比如：画笔在画纸上作画，我觉得不管是paper.draw(pen)还是pen.draw(paper)都不如用函数表达为draw(paper,pen)来得自然。据我所知，这种情况在建模中常抽象为一种服务来表达某一功能，比如：DrawService。&#60;/p&#62;
&#60;p&#62;请问有没有一个比较好的方法来分析算法什么情况下适合设计为类的成员方法呢？什么情况下又应该作为独立的函数(C++)或者是抽象为服务呢？
&#60;/p&#62;
</description>
		</item>

	</channel>
</rss>

