??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品无码久久久影院相关影片,亚洲欧美熟妇综合久久久久,久久久久亚洲爆乳少妇无http://m.tkk7.com/briansun/category/436.html<marquee direction="down" scrollamount=4 height="120" align="right"> <a href="http://m.tkk7.com/briansun/archive/2005/09/03/11884.html">关于z穴寓言的几部电(sh)?lt;/a><br> <a href="http://m.tkk7.com/briansun/archive/2005/08/31/11634.html">关于AOP的七个猜?lt;/a><br> <a href="http://m.tkk7.com/briansun/archive/2005/07/31/8813.html">试驱动开发全功略</a><br> <a href="http://m.tkk7.com/briansun/archive/2005/07/21/8095.html">体验l济在Y?lt;/a><br> <a href="http://m.tkk7.com/briansun/archive/2005/07/20/8028.html">NXUnit 中文说明</a><br> <a href="http://m.tkk7.com/briansun/archive/2005/07/15/7765.html">发表我自q开源Y?lt;/a><br> <a href="http://m.tkk7.com/briansun/archive/2005/04/16/3336.html">4?6日评点IBM</a><br> <a href="http://m.tkk7.com/briansun/archive/2005/04/04/2808.html">4?日评点Google</a><br> <a href="http://m.tkk7.com/briansun/archive/2005/03/27/2505.html">3?7日评点版权制?lt;/a><br> <a href="http://m.tkk7.com/briansun/archive/2005/03/21/2274.html">天下归一Q谈EclipseCon2005</a><br> <a href="http://m.tkk7.com/briansun/archive/2005/03/20/2270.html">软g标准的生命周?lt;/a><br> <a href="http://m.tkk7.com/briansun/archive/2005/03/18/2205.html">2005q度Jolt大奖</a><br> <a href="http://m.tkk7.com/briansun/archive/2005/03/14/2067.html">3?4日评点Microsoft Office</a><br> <a href="http://m.tkk7.com/briansun/archive/2005/03/14/2063.html">3?4日评点OMG</a><br> <a href="http://m.tkk7.com/briansun/archive/2005/03/12/1963.html">关于UI的不同解?lt;/a><br> <a href="http://m.tkk7.com/briansun/archive/2005/03/07/1786.html">非理智的抗议Q只为JDO</a><br> <a href="http://m.tkk7.com/briansun/archive/2005/03/01/1597.html">关于ERP的未?lt;/a><br> <a href="http://m.tkk7.com/briansun/archive/2005/02/27/1534.html">有没有可能以开源Y件ؓ(f)q_建构ERPQ?lt;/a><br> <a href="http://m.tkk7.com/briansun/archive/2005/02/26/1518.html">UI框架的组l模?lt;/a><br> <a href="http://m.tkk7.com/briansun/archive/2005/02/19/1321.html">关于人工</a><br> </marquee>zh-cnMon, 21 May 2007 02:14:42 GMTMon, 21 May 2007 02:14:42 GMT60XMIND与MindManager从用者角度的差别是什么?http://m.tkk7.com/briansun/archive/2007/05/21/118810.htmlBrian SunBrian SunMon, 21 May 2007 02:08:00 GMThttp://m.tkk7.com/briansun/archive/2007/05/21/118810.htmlhttp://m.tkk7.com/briansun/comments/118810.htmlhttp://m.tkk7.com/briansun/archive/2007/05/21/118810.html#Feedback0http://m.tkk7.com/briansun/comments/commentRss/118810.htmlhttp://m.tkk7.com/briansun/services/trackbacks/118810.html1.100%U中文?/span>
XMIND改变?sh)(jin)中国h没有自己的思维导图工具的现状。国外的所有Y件厂商都没有把中文版列ؓ(f)其发展方向之一Q且在处理中文的q程中,几乎无一例外的存在Bug。用MindManager一D|间之后的很多中国用户都发C些Notes丢失?jin),一些中文变成了(jin)q。但XMIND没有Q它?00%U中文设计,中文处理非常E_。以至于新加波的代理商都?#8220;the best practice of using Chinese”为由代理XMIND。且XMIND的研发团队在国内Q各cL务都比较方便?br>
2.适合中国人的思考方式?/span>
XMIND不仅考虑?jin)中文处理和中文界面Q还更考虑?jin)中国h的思维?fn)惯。国内权威IT产品评测杂志《个人电(sh)脑》在2007q第5期中介绍?jin)XMIND 2007Q经q详l评给出的评h(hun)之一是“与国外的同类软g相比QXMIND2007更加W合我们的思维?fn)惯?#8221;

3.更易用,零学?fn)曲Uѝ?/span>
三个Ҏ(gu)体现XMIND的易用性:(x)

3.1 XMIND的过滤功能非常直观,用户可以通过图标思维导图分成很多层,可单独查看其中的一层,是个划、项目管理等领域的法宝?br>
3.2 XMIND的图例功能非常有用,让用户再分n自己l制的思维导图时可以方便的看到图上所用到的所有图标,以及(qing)图标的含义。有?jin)此功能,用户才愿意打印思维导图到纸上?br>
3.3 XMIND的外框功能与MindManager有很大分歧。后者认为外框的含义在于Q所以一个外框只能加在一个分支上Q但XMIND认ؓ(f)除了(jin)外,外框q应该能体现“弱分c?#8221;的功能,所以XMIND可以随意选择几个分支d外框Q相q的分支被安排在同一个外框中?br>
4.奇的关联图与强大的工作ѝ?/span>
XMIND允许用户多张图攑֜同一个文件中Q这U设计更cM于现实生zM的图U怸工作ѝ用户将相同或相q主题(sh)的图攑֜同一个文件中也便于与他h分n?br>
此外Q同一个工作簿中的囑֏以具有一定的兌性,q是XMIND的独特创造。两张图中具备关联性的分支除了(jin)位置和关pM同外Q文字和图标都是相同的。很多用L(fng)兌图表辄同内容的不同分类法,也有很多用户用此来表达概q和详细内容之间的关pR?br>
5.个性化H口布局提高工作效率?/span>
XMIND可以Ҏ(gu)(zhn)的喜好随意改变H体的布局Q大,层叠样式。在XMIND中可以拥有?zhn)自己的风|某些窗体拖拽到(zhn)认为最合适的位置和大,或者选择打开某些H体Q关闭另一些。当(zhn)在工作K{栏上双?yn)LQ整个工作簿׃(x)以最大化的样式呈玎ͼ再次双击又会(x)回到原来的布局格式Q改变灵z自如。这P(zhn)的XMIND可以在一台电(sh)脑上Z同个性,不同喜好的用h供让大家都满意的布局格式和窗体效果,满各类个性化需求,在符合各cMh用习(fn)惯的基础上进一步提高效率?br>
6.兼容其它思维导图保护客户投资?/span>
作ؓ(f)一Ƒև色的思维导图软gQXMIND充分考虑C用者已有的资源?qing)?fn)惯,方便的将其他格式的思维导图Q如FreeMind格式和MindManager格式Q导入成XMIND支持?xmap格式Q可以充分保护客户对XMIND的投资。一旦拥有XMINDQ可以拥有多U思维导图软g带来的资源和信息Q不必担?j)集成与兼容Q更无需费旉重复力_Q给与客h大的使用便利性?br>
7.降低客户的成本?/span>
XMIND在v外市(jng)场和国内?jng)场的零售h(hun)均不到MindManager的三分之一。提供整体解x(chng)案的h也远q低于MindManager?br>
XMIND官方|站Q?/span>http://www.xmind.org/




Brian Sun 2007-05-21 10:08 发表评论
]]>
Eclipse在做什?/title><link>http://m.tkk7.com/briansun/archive/2007/04/18/111709.html</link><dc:creator>Brian Sun</dc:creator><author>Brian Sun</author><pubDate>Wed, 18 Apr 2007 10:53:00 GMT</pubDate><guid>http://m.tkk7.com/briansun/archive/2007/04/18/111709.html</guid><wfw:comment>http://m.tkk7.com/briansun/comments/111709.html</wfw:comment><comments>http://m.tkk7.com/briansun/archive/2007/04/18/111709.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://m.tkk7.com/briansun/comments/commentRss/111709.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/briansun/services/trackbacks/111709.html</trackback:ping><description><![CDATA[很久没关?j)Eclipse基金?x)的动作了(jin),只是不断在用,不断在开发,不断在教别h使用和开发,然后是{待Eclipse的下个版本。那么,Eclipse基金?x)究竟在q什么呢Q我不想写篇很长的Blog?jin),只是随便谈谈最q的几个映像Q?br><br><span style="font-weight: bold;">1。Eclipse 3.3</span><br>如果我的推算没有问题的话Q今q的W三季度我们可以拿到正式版?.3?jin)?.3好像没有什么太大的动作?jin),我只记?.2的时候搞?jin)一个MDCQ百万下载挑(xi)战)(j)Q据说在预订一半多的时间里实C(jin)百万下蝲量。回头看看Firefox好像几乎没花什么精力下载量p到千万别了(jin)Q不是一个类型的软g实没法比啊?br><br>看了(jin)3.3M6的一些表玎ͼForms包的外观有些改善Q但是不知道有没有结构上的调_(d)Application扩展点的API改了(jin)很多Q名字也比原来合理了(jin)Q不q最q正在开发中的一些项目又要重构了(jin)Q呵呵;最令hȀ动还是Viewl于可以折叠C边了(jin)Q而不是原来那h化?jin)之后还占很多位|,而且最大化也更L(fng)?jin),得益于View的新折叠方式?br><br><span style="font-weight: bold;">2。越来越重视MacOSX</span><br>SWT 3.3?#8220;New and Noteworthy”可以看到q个势。记得我d与Sun公司的James Bai谈到Eclipse与NetBeansӞ我就表达?jin)自q观点Q好像Blog里面也有。事实上Q?#8220;惯用法和外观”在MacOSXpȝ上的重要C是没用过Ҏ(gu)?sh)脑的h无法惌的,Eclipse在Windows实很漂亮,但是之前的版本在MacOSX上还是远不如NetBeans的。我自己也遇C(jin)q样的问题,我们在Windows上开发有“助记W?#8221;的问题,比如文g菜单Q应该写?#8220;文g(&F)”Q这样F下面有条横U,用户按Alt-F可以直接打开文g菜单Q但是在Mac上没有这L(fng)设计QEclipse展示出来仍然是这P显得有明显从WindowsUL的痕qV除?jin)Mac的菜单外QMac的窗体、Mac的工h、Mac的Q务栏、Mac的快捷键都有很多与Windows不同的地方,Eclipse要加油了(jin)啊~?br><br>回到说SWTQ?.3在MacOSX上有?jin)不改善,增加了(jin)TrayItemQ增加了(jin)彩色鼠标指针Q还改了(jin)一个reparent的bug?br><br><span style="font-weight: bold;">3。Ajax是大方向</span><br>前段旉炒作?jin)一条新闻,说Eclipse基金?x)同时发布?jin)三款用于Ajax开发的插gQ这个说法是Ơ妥的。因三个目都是很久以前有的,现在把他们拿Ch_(d)Ҏ(gu)原因是Z(jin)回应现在炒作很凶的Ajax。其?#8220;Dynamic Languages Toolkit”没什么稀奇的QNetBeans也已l做?jin),但我怿Eclipse在易用性方面一定又是做到最好;“Ajax Toolkit Framework”也就是ATF是三者中最U的Q现在要合ƈqWTP?jin),是?f)Dojo、Rico、Zimbraq些API的开发h员提供集成,套用行话_(d)是“Ajax开发h员终于有?jin)自qIDE?jin)(Ƣ?大笑Q?#8221;Q唯独只?#8220;Rich Ajax Platform”QRAPQ最值得一提?br><br>q是一个与众不同的目Q非常具有前L和q见性,q也是Eclipse一贯的做事风格。RAP的羃写是来自于RCP的,RCP已经家喻h?jin),很多知名目比如Lotus Notes 8和RSSOwl都是ZRCP的,RCP的程序员?sh)很多?#8220;如遇危难QRCP可以兵Q?#8221;但是面对Ajax一夜来袭,很多Rich Client应用E序开始希望自p够搬到Web上去的,可是怎么搬呢Q把Java代码译成javascript吗?我们都知道真正伟大的E序员都是在Javaq_上的Q而JavaE序员大都不喜欢javascriptq样高效但不严}的风|其是不好调试这一,使得javascript目的成本随规模成几何数递增Q这U事情放在Googleq样p不掉的公司n上还行,但是要放在小公司上就捉襟见肘?sh)(jin)?br><br>所以行业内的专家经q这几年的反复斟酌,得到的结论是Q终极的解决Ҏ(gu)q是要让E序员手写Java代码Q出来的却是javascript效果。那如何实现q样的{变(sh)(jin)Q有两个Ҏ(gu)。一是写一个编译器Q首先给Z个限定的Java API库,只有utils包、io包、lang包的数功能和标准控Ӟ最好是SWT式的Q大安很习(fn)惯了(jin)Q如果程序员?sh)用q些APIQ和自己~写的APIQ写代码Q就可以被这个编译器丝毫不差的编译成javascript代码Q在本地执行和在Web上执行达到相同的效果Q这样完全可以调试,也可以扩展这些API。这U解x(chng)案以Google的GWTZ表。二是写一个服务器Q这样就可以用全套的Java APIQ但是不能用AWT和SwingQ再l出一l标准控ӞQ最好是SWT式的Q大安很习(fn)惯了(jin)Q,E序员所写的Java代码其实是在服务器上q行的,服务器根据这D代码的操作Q把相应的结果反馈给C(j)lient端也是览器,而浏览器以javascript的方式展现和接收事g。这U解x(chng)案的代表Q就是RAP?br><br>q要说的一点就是后者其实有个帮手,也算很多Ajax|站的诀H,是JSON。JSON是把一个MapQ名值对l)(j)序列化成XML的工P如果q样解释好像没什么新奇的。。。那么好Q应q大JSON_丝的强烈要求,我把JSON的解释改成:(x)“JSON是一个你在服务器端把JavaObjectl它Q就能在览器端取出一个javascript object的神奇而又强大的工P而它的实现机Ӟ只不q是把一个Map序列化成XML”Q?br><br>q两个方案有明显的差别,可以说根本不是一U技术,但是他们很可能都有前途,都是王者之道,一个齐桓公一个晋文公Q都有机?x)成为霸主,也完全有可能鼎而立Q开发h员选择谁,完全是根据项目的情况Q甚x(chng)可能。。。开发一个联合的Ҏ(gu)。。。把GWT装成一个Eclipse RAP的插件?br><br><span style="font-weight: bold;">4。看看Summer Of Code</span><br>不小?j)点q了(jin)Google的Summer Of CodeQ之前就已经x(chng)q一些,但是好奇?j)还没有׃我点Eclipse Foundationq去看,今天l于按奈不住?jin)。。。先单介l一下Google SoC[http://code.google.com/soc/]Q其实是q样的,很多开源Y件基金会(x)惌p一些比较牛的大学生来开发一些代码(q些都是最著名的开源YӞ也是最肥的Q,但是不知道去哪里扑֤学生。Google的媄(jing)响力比较大,所以就?xi)?jin)个头Q先把这些开源项目的ideasM去,让学生们?xi),学生再把自己的简历投lGoogleQGoogle安排一个统一的时间由开源组l去选,选中的学生由Google撮合双方见面或不见面开发,主要是利用了(jin)学生在暑期的80天空闲时_(d)然后老板把钱付给GoogleQGoogle付给学生Q中?0天的时候Googleq要搞个“期中考试”。。。看?jin)一下Eclipse的ideasQ挺惊讶的,虽说q不是Eclipse目发展的主,但是也从一定程度上昄?jin)Eclipse的不野?j)?br><br>其中我最感兴的?#8220;Eclipse Open Office Integration”Q它旨在把OpenOffice.org的组件嵌入到Eclipse的编辑器中去Q而在此之前,Eclipse已能方便的嵌入Microsoft Office的组件了(jin)Q得益于ActiveXQ。这L(fng)功能如果能实玎ͼҎ(gu)们^时的开发也是很有好处的。另一个我感兴的是“Eclipse install based manager”Q现在的RCP没有自己的安装程序,只是在Eclipse的帮助文档中有一制作RCP Install的指南,但这是远q不够的Q我花在做安装程序上的时间太多了(jin)Q不值得Q因些都是共性的工作。除此之外,我还?#8220;RCP real-time collaboration based upon ECF and Google Talk XMPP-based messaging service”感兴,如果Eclipse不做Q我们也要做q样的功能。最后要提到的一个好玩的功能是“NetBeans in Eclipse”Q两U插件接口对Java阵营q是不利的,如果我ؓ(f)NetBeans~写的插件能够跑在Eclipse上的话,那NetBeans的新Ҏ(gu)就?x)都变成Eclipse的新Ҏ(gu)了(jin)Q够自私?jin)吧Q)(j)<br><br><span style="font-weight: bold;">5。RCP仍是无冕之王</span><br>Eclipse官网的黄金位|还是留l了(jin)RCPQRCP在全球还是有大量忠实_丝的。不久前发现汇丰银行某个分行的CRMpȝ是基于RCP的(客户端)(j)Q不久前又发现英国一个咨询公怸门提供RCP开发的咨询业务Q不久前IBM正式q入公测阶段的Lotus Notes 8/Hannover也是ZRCP的,只是Z(jin)外观重写?jin)WorkbenchQ不久前。。。被人发现我们的软g也是ZRCP的,而且随时提供RCP斚w的咨询和培训?br><br><span style="font-weight: bold;">6。跟Mozillal个亲家?/span><br>忘(sh)(jin)提Eclipse 3.3的又一大特性了(jin)Q叫?#8220;Moziila Everywhere”Q是指在Mq_上都可以创徏一个Browser控g但是使用Mozilla内核Q及(qing)时该q_上没有安装FirefoxQ。这是怎么实现的呢Q其实很单,它要求你必须安装一个xulrunnerQ后者是Mozilla的全部内核,包括Gecko布局引擎、Javascript解析引擎、XUL解析引擎和XPCOMQ其中每样东襉K_写一本书Q有?jin)这些,仅用XUL+Javascript可以写Z个Firefox来,Eclipsez是利用?jin)这个特性,用Javaq接XPCOM所以创Z(jin)一个Mozilla的BrowserQ但是没有Q何行为,包括右键菜单?br><br>q个Browser控g和缺省的Browser控g是不一L(fng)Q我们^时见到的~省Browser控gQ在Windows上用的是IE内核Q在MacOSX上用的是SafariQ在Linux上。。。不知道Q所以它是最最单的览器,不具备Q何可以定制的功能Q除?jin)显CZ张HTML面外,没有M用处。(你该不会(x)想用Eclipse写一个傲游出来吧Q?br><br>但是Mozilla内核的浏览器控g׃同了(jin)Q它意味着如果E序员^时ؓ(f)Firefox写插件的形式Q也可以被应用到RCP应用E序上来Q设想一下我们拥有一个RCP+xulrunner的^台吧QRCP接收Java扩展Qxulrunner接收xul和javascript扩展Q那我们的^台——要么叫FireclipseQ要么叫Eclifox——就所向披靡了(jin)。即使不利用它的可扩展性,单单是能保证在不同q_上提供对Web应用E序的一致性展C条,p够臭的?jin),更可以用写Eclipse插g的Ş式来限定览器的行ؓ(f)。。。。。。唉Q刚才是不是说过一个NetBeans in Eclipse啊?把那玩意扔了(jin)吧~?br><br><span style="font-weight: bold;">ȝ?/span><br><br>zLQ还真是好久没有写Blog?jin)呢。本来只惌谈Eclipse基金?x)的Q没惛_说多Q连MacOSX、JSON、Google、Mozilla都说?jin)个遍,是不是说了(jin)你的偶像什么坏话,我常q这U事Q直接跟我联pdQ我愿意分n我的一切感受和看法。忙?jin),再聊Q? <br><br><span style="font-style: italic;">下一个大泡(chng)</span><br style="font-style: italic;"><span style="font-style: italic;">Q{载本文需注明出处QBrian Sun @ 爬树(wi)的(chng)泡[http://www.briansun.com]Q?/span> <br><br> <img src ="http://m.tkk7.com/briansun/aggbug/111709.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/briansun/" target="_blank">Brian Sun</a> 2007-04-18 18:53 <a href="http://m.tkk7.com/briansun/archive/2007/04/18/111709.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java 专业人士必备的书c和|站列表http://m.tkk7.com/briansun/archive/2007/04/14/110626.htmlBrian SunBrian SunSat, 14 Apr 2007 05:14:00 GMThttp://m.tkk7.com/briansun/archive/2007/04/14/110626.htmlhttp://m.tkk7.com/briansun/comments/110626.htmlhttp://m.tkk7.com/briansun/archive/2007/04/14/110626.html#Feedback2http://m.tkk7.com/briansun/comments/commentRss/110626.htmlhttp://m.tkk7.com/briansun/services/trackbacks/110626.htmldeveloperWorks里面一非怸错的文章Q我在订阅邮仉发现的:(x)

Java 专业人士必备的书c和|站列表

摘要Q?/p>

书籍

每个E序员都?x)有一些由于经常被当作专业资料参阅而磨坏的书。下列书c应该是 Java 语言E序员的书架上必备的。书很贵Q所以我有意这份列表弄得很短,仅限于重要书c?/a>

Thinking in Java (Bruce Eckel)

Thinking in Java, 3rd edition QBruce Eckel; Prentice Hall PTRQ?002 q_(d)(j)
Java ~程思想Q第3?/em> Q陈昊鹏 {译; 机械工业出版C,2005 q_(d)(j)
Eckel 的书对于学习(fn)如何?Java 语言环境中用好面向对象技术极其实用。书中大量的代码样例解释?jin)他所介绍的概c(din)文字出自一个ƈ不认? Java 技术L正确{案的hQ所以相当地实用。Eckel h多种语言的大量经验,q有用面向对象方式进行思考的扎实技能。本书将q些技能放到实用的 Java 语言环境中。他q在写一本新书,名ؓ(f) Thinking in Enterprise Java?/p>

Effective Java (Joshua Bloch)

Effective Java: Programming Language Guide QJoshua Bloch; Addison-WesleyQ?001 q_(d)(j)
Effective Java 中文?/em> Q潘爱民 ? 机械工业出版C,2003 q_(d)(j)
本书是理解优U Java E序设计原则的最佳书c。大多数材料从其他的 “学习(fn) Java ” 的书中根本找不到。例如,Bloch 书中关于覆盖 equals() q一章是我读q的最好的参考资料之一。他也在书中包括?jin)很实用的徏议?x)用接口替代抽象类和灵zM用异常。Bloch ?Sun 公司 Java q_库的架构师,所以他透彻C(jin)解这门语a。事实上Q他~写?jin)该语言中大量有用的库。本书必读!

。。。。。?/p>

。。。。。?/p>

。。。。。?/p>

Brian Sun 2007-04-14 13:14 发表评论
]]>
芒果软gXMIND 2007http://m.tkk7.com/briansun/archive/2007/01/16/94288.htmlBrian SunBrian SunTue, 16 Jan 2007 11:36:00 GMThttp://m.tkk7.com/briansun/archive/2007/01/16/94288.htmlhttp://m.tkk7.com/briansun/comments/94288.htmlhttp://m.tkk7.com/briansun/archive/2007/01/16/94288.html#Feedback11http://m.tkk7.com/briansun/comments/commentRss/94288.htmlhttp://m.tkk7.com/briansun/services/trackbacks/94288.html [什么是芒果软gQ]
芒果软gQ全U“北京市(jng)朝阳果Y件研I所”,是依法成立的民办U技c非企业法h。。。。。?/p>

q个话怎么说的q么不顺啊,换种说法。芒果YӞ是一技术精q名字Q我们来自四面八方,Z(jin)一个共同的前途走CP开始了(jin)一ƾY件从创意、设计到开发、测试、上?jng)、销售,以及(qing)未来成为国产Y件之?jing)傲的传奇之旅。。。。。?/p>

我们所说的q段软gQ就是XMINDQ它是第一Ƒ֏视化思维工具Q也是目前市(jng)Z唯一的同cM品。登陆我们的|站可以看到它的介绍和截图:(x)
http://www.mango-software.com/
以及(qing)免费下蝲beta版:(x)
http://www.xmind.cn/

[什么是可视化思维工具Q]
很多理咨询公司和培训公司,以及(qing)很多中学和大学的教师Q他们在传授一cL法,或开设一门课E,题目可能是“如何提高(sh)的工作效率”? q类评80Q的内容是很无聊的,学员?sh)不太喜Ƣ,但是?0Q的内容是激动h?j)的。我们发现这Ȁ动h?j)的提高工作效率的方法就是用形象的思维工具帮助? l。比如很多管理咨询公司和培训公司?x)开讑֐为?strong>思维导图”的评Q课上要求学员(sh)用纸和笔把自p中随时冒出来的创意随时记录下来?/p>

记录的方法是在纸的中央画一个椭圆,里面写上中心(j)主题Q从q里发散出去惻I惛_的内Ҏ(gu)为分支主题,每个分支主题q可以再发散Q字写在U上Q线划到 哪儿都要多划一点,q样׃(j)q了(jin)自己的思维Q这U思维方式比写文章要快很多倍(如果你没试过是无法想象的快)(j)Q很快你写满了(jin)整张A3U!

即ؓ(f)别h培训又会(x)做Y件的我们想到用软g来实现这一切!因ؓ(f)软gl制思维导图Q可以大大提高绘囑ֈ品的价|不仅可以自己看,q可以与别h分nQ? 最重要的是即修改。如果在U怸l制的时候把一个分支错误的q接在了(jin)另一个分支的后面Q就无法修改?jin),如果是重要的图,必重新绘Ӟ但是软g׃? ?jin)。另外,软gq可以排版,或者将某个思维导图导出成Word/Powerpoint的格式,再进一步利用,q就廉?jin)办公Y件的程Q从用户脑子里想的到U怸打印的完全的q接?jin)v来?/p>

作ؓ(f)补齐最后一公里的Y件品,可视化思维工具q是跟其它Office软g有很大的不同Q首先,W(xu)ord和Powerpoint几乎都是以线性的方式l织文字和内容的Q这和h脑的l构有很大的不同Q因Zhc都是以发散的方?/strong>? 考问题的Q其ơ,W(xu)ord和Powerpoint在调整篇章结构上太繁琐也不直观,很多用户都反映,他们在写文章或制作灯片之前都先用XMIND列提 UԌ以便于谋布局Q然后再为每个分支填入内容,之后q可以持l优化篇章结构,完全定?jin)以后,再用XMIND导出成最l需要的格式Q修攚w别字和最后排 版?/p>

除了(jin)l制思维导图以外QXMINDq包含了(jin)很多其它W合人类基本思维方式的图形,我们这cd形统UCؓ(f)?strong>思维?/strong>”。XMIND提供?jin)在U更新的功能QXMIND的用戯可以从芒果Y件的|站上源源不断的下蝲更多的思维囄U类。当?dng)我们只作最重要的,适合大多Ch的,h个性化的图形还是要靠用戯qXMIND丰富的个性定制功能自p计,q提取模版,怺交流?/p>

可视化思维工具的另一大类用途是与他Z思想。我们有很多客户是大企业的销售经理,他们在向客户演示自己产品和服务的q程中引入了(jin)XMINDQƈ获得?jin)很好的反馈效果。因为它的Ş状是最适合思维的,所以能表达的信息也最多最_Q也最Ҏ(gu)被别人接受。XMIND?strong>图标?/strong>也ؓ(f)用户l制的思维图提供了(jin)额外的亮点,囑Ş+图标所h的表达能力是非凡的。此外,咨询公司和培训公司还辅导学员?sh)利用XMIND帮助记忆和会(x)议记录。最后,XMIND可以同一个主题的所有思维?strong>整合在一个文仉Q因为用h意将“晨?x)计划”、“晨?x)内容”、“参?x)h员”和“会(x)议反馈”等主题攑֜一个文仉Q便于发l自qboss?/p>

上面q些是可视化思维工具的主要功能,?jin)解一下XMIND 2007׃(x)发现它的功能q远q不只这些。芒果Y件的宗旨是为广大用h供最适合思维的YӞ而XMIND的宗旨就是整理?zhn)的思维、发掘?zhn)的潜意识、激 zL的创意灵感,最后,帮助(zhn)绘制漂亮的囑Ş。让GoogleL索网l吧Q我们搜索的是?zhn)的大脑?/p>

[谁将?x)是XMIND的用P]
XMIND有两cd的用L(fng)Q?/p>

1。高层经理、白领精英、办公室一族、政府公务员
特征Q每日工作用脑量很大Q处在现代办公环境中Q常帔R要计划、决{、记录、创意、演C、与Z等{,工作节奏很快Q工作时间中使用?sh)脑占一定比重?/p>

2。中学生、大学生、中学教师、大学教?br /> 特征Q每日学?fn)、工作用脑量很大Q常帔R要记录、ȝ、归U뀁综合、交等{,工作、学?fn)繁忙,使用电(sh)脑占一定比重?



Brian Sun 2007-01-16 19:36 发表评论
]]>
澄清关于芒果软g的几个问?/title><link>http://m.tkk7.com/briansun/archive/2006/09/24/71540.html</link><dc:creator>Brian Sun</dc:creator><author>Brian Sun</author><pubDate>Sun, 24 Sep 2006 03:27:00 GMT</pubDate><guid>http://m.tkk7.com/briansun/archive/2006/09/24/71540.html</guid><wfw:comment>http://m.tkk7.com/briansun/comments/71540.html</wfw:comment><comments>http://m.tkk7.com/briansun/archive/2006/09/24/71540.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.tkk7.com/briansun/comments/commentRss/71540.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/briansun/services/trackbacks/71540.html</trackback:ping><description><![CDATA[ <b>[名称和商标]</b> <br /> <br />我们和芒果网不是一Ӟ一个是“芒果Y件”,一个是“芒果网”;一个是“Mango Software”,一个“MangoCity”,来也不?x)有商标权力上的问题Q请大家攑ֿ(j)。我们的中文全称是“北京市(jng)朝阳果Y件研I所”,目前的项目研发代h“Brainy”?br /><br /><b>[不是汉化软g]</b><br /><br />我们不是MindManager的汉化版本,也不是其它国外Y件引入国内的成果。我们是完全自己开发拥有自ȝ识权的软g产品?br /><br />说vMindManagerQ我们不得不说它是一个强大的竞争Ҏ(gu)Q它已经得到?jin)我们全部的重视Q芒果Y件的战略层视MindManager犹如百事可乐看待可口可乐一栗我们的技术目标是比MindManager做的更专业,p果Y件目前的实力来说Q这个目标是可以实现的;我们的商业目标是首先在国内站E跟,因ؓ(f)我们是国内第一Ӟ同时在国际市(jng)Z分得MindManager的一杯羹Q进而和它^起^坐,最后超q它的市(jng)Z额。但q个目标q不表明我们是先做国内市(jng)场后做国际市(jng)场的?br /><br /><b>[15Q的问题]</b><br /><br />我们的推q材料上说“以15Q的成本为用h?5Q的解决Ҏ(gu)”,D?jin)很多不必要的误解。其实国内很多企业都宣称他们的解x(chng)案是?00Q的”、“完全的”或者“全套的”,我们从心(j)底反对这U说法,q是在欺骗消费者,目前为止人类q没有一UY件能满消费者的100Q需求哪怕这U需求只是一个方面。(M一ƾ汽车也不行Q。我们的产品是面向商业用户和教育用户的,拿前者来_(d)一个商业用户在办公的过E中需要一个Y件来帮忙他整理思\Q这是他完全可以使用BrainyQ但很有可能q不仅仅使用BrainyQ他用Brainy快速记录脑中所惛_的信息,用Quicktime录下自己的声韻I再用Firefox通过Google搜烦(ch)自己需要的囄Q把囄加入到用Brainyl制的思维导图上,再导出成Powerpoint文gQ经q修改以后交l领对{?br /><br />我们所说的15Q成本,其实是在说ؓ(f)用户在思考问题的L本降低了(jin)85Q,很多企业在提高员工的办公效率斚w投资不少Q但收效甚微。而国外很多学者论证过Q思维导图实是符合h的思维模式一U图形,它的效果说是说不清的Q用?jin)才知道。此外还有一层含义,是说我们的品在面市(jng)之后Qh(hun)g(x)很便宜?br /><br /><b>[“符合中国h思维”的问题]</b><br /><br />很多朋友发来消息说他们期待我们能推出“符合中国h思维”的思维导图软gQ我们非常感谢这些朋友的x(chng)Q但我认U说法不妥。首先我们要研究一下中国h和外国h的思维方式是否有不同?如果有,那么不同在哪里?我不想长大论,但我惌中国人和外国人思维方式的不同,是在于我们的文化Q而不是我们大脑的l构。思议q种差异在我们的“芒果可视化思维工具”里是体C出来的?br /><br /><b>[“技术狂人”问题]</b><br /><br />很多很热?j)的朋友担?j)我们作ؓ(f)一个企业的方向问题。事实上Q我们不是由“技术狂人”组成的Q(哈哈Q大W,作狂人状Q,我们是一些有x(chng)有热情而又时刻叮嘱自己保持清醒的年Mh。作为我的Blog读者的你,应该清楚q一炏V我们注重市(jng)场,我们是从d上半q开始思考这个创业方案的Q但是直Cq?月䆾才开始着手去做。在开始创业前的一q的旉里,我们都在思考,思考市(jng)场、思考客戗思考营销、思考h员管理、思考国外的软g行业、思考国内的同行、思考品、思考渠道、思考销售模式、思考市(jng)场合作与zdQ甚x(chng)考定价和折扣Q而后Q我们决定去做!事实上,我们直到现在也不是很成熟Q但是让我们成熟h的唯一途径是大胆dQ我们已l感觉比国内的很多同行都要成熟了(jin)?br /><br />在广泛的和朋友共享我们的创业思\的过E中Q我发现?jin)有的现象。当我和技术精׃l我们项目时Q他们往往担心(j)q个东西做好?jin)以后卖不出去,而丝毫不?x)担心(j)这个品能否面市(jng);而当我和软g销售h员聊q个目Ӟ他们往往?x)担心(j)这个东西做不出来,而丝毫不?x)担心(j)做出来了(jin)以后能否卖的掉。这可能是领域思维吧,当每个h谈及(qing)自己很擅长的领域Ӟ都对我们赞不l口Q但也都表示Q对他们不擅长的领域Q十分担?j)(q好情况不是反过来的Q。我非常感谢q些朋友Q也请你们相信,我们不会(x)让你们失望!<br /><br /><b>[“盗版Y件”问题]</b><br /><br />国内软g行业的版权问题确实不容乐观,作ؓ(f)q入q个行业的创业者,我们丝毫不会(x)_饰太^Q也不会(x)掩饰我们对于q个问题的担?j)。事实上Q我们要正视q个问题Q盗版是个大问题。但是担?j)终I要转变成一个解决问题的思\Q如果你不想转行的话。我们对待这个问题有一套完整的x(chng)Q那是“战略上轻视它,战术上重视它”!什么?具体一点?那就请听我娓娓道来?br /><br />从战略上Ԍ盗版软gq不可怕,著名的Microsoft软g公司Q盗版横行,据说Q全中国只有3Q的微Y软g是正版的Q但是微软公司在中国区的利润仍然很高Q是全球利润最高的一个地区。国内的金山软gQ其金山词霸和金山毒怸大品线都同时是盗版猖狂和利润丰厚的?br /><br />从战术上Ԍ微Y和金pL(fng)产品型企业ؓ(f)什么会(x)在盗版横行的今天才能?zhun)到q么多钱呢?原因有三Q其一是抓大客Pd向大客户推销Qƈ保证大客户不在用盗版,多数大企业尤其是跨国企业是不愿意使用盗版软g的。有些中型企业如果已l在使用盗版?jin),那就说明他们需要我们的产品Q再可以由销售h员(sh)赠送培训或打折的Ş式将正版软g推销出去。如果对方仍然执意不听,那么只能用律师函的形式警告之,l合hQ就是“以法律Z靠,以谈判ؓ(f)途径Q以h为手D”?br /><br />其二是技术反盗版Q矢志不渝。上面所提到的这些手D,如果没有技术支撑就毫无疑义Q你无法知道谁在用盗版,甚至l盗版Y件提供正版的服务Q这些没有技术上不断的进步是很有可能发生的,在这个方面,有很多做的很好的W三Ҏ(gu)术可以被我所用,比如在线Ȁzȝ{?br /><br />其三Q是商业手段和技术手D늚联合使用。比如正版Y件带有大量的资源光盘Q这使得盗版的品体U非常大Q不易传播,很多盗版商ؓ(f)解决q个问题?sh)(x)精产品Q这q背?jin)很多用L(fng)意愿Q导致这些用户不得不去购买正版,金山词霸是q个{略。再比如版本hQ很多Y件品出很多版本Q每q每个系列都再出一个,盗版商往往只盗版其中的一个版本,然后以欺骗用L(fng)方式把这个版本以多个版本发放Q这使得用户常常得不到自己想要的版本Q只好购买。还有一个更高的策略就是在U升U,因ؓ(f)不断的更新正版Y件的鉴别Ҏ(gu)Q且在升U时必须(g)查Y件的合法性,所以导致很多用户用了(jin)盗版软g之后不能自动更新Q杀毒Y件厂商,多数都是q个办法?br /><br /><b>[“通用软g和盒装Y件”问题]</b><br /><br />当我在网上公开q个x(chng)Ӟ很多朋友Q甚x(chng)软g界的朋友Q表现出?jin)他们对“通用软g和盒装Y件”的前途的不信LQ他们认L(fng)产品可能没有?gu)\。很高兴q些朋友能够提醒我们q个问题。当我在思考该如何回答他们Ӟ我发现可能由于一U“恨屋及(qing)乌”的作用Q他们真正的x(chng)q不是这P而应该这栯qͼ(x)“如果一UYӞ仅仅通过零售渠道来销售,那么他们是没有前途的”。我非常?qing)其已经特别的支持这U观点,因ؓ(f)通用和盒装Y件的销售如果只有一U渠道的话,实不太好做Q况且现在个Y仉售市(jng)相当不健全。但是如果将它错误的表述为“通用和盒装Y件没有前途”,那就大错牚w?jin),U观现在的Y件界哪个领域不是通用软g在打头阵Q哪个领域不是盒装Y件的利润率最高?哪个财富500Z业不是通用和盒装Y件的客户Q不用说国外的微软国内的金山Q单举数据库的例子就可以?jin),DB2主要的利润源是“通用数据库”而主要的竞争Ҏ(gu)是Oracle的什么什么i和微软的SQL Server?br /><br /><br />芒果软g的(chng)?br /><br /><br /><img src ="http://m.tkk7.com/briansun/aggbug/71540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/briansun/" target="_blank">Brian Sun</a> 2006-09-24 11:27 <a href="http://m.tkk7.com/briansun/archive/2006/09/24/71540.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>芒果软g实验?诚揽人才http://m.tkk7.com/briansun/archive/2006/09/09/68698.htmlBrian SunBrian SunSat, 09 Sep 2006 04:34:00 GMThttp://m.tkk7.com/briansun/archive/2006/09/09/68698.htmlhttp://m.tkk7.com/briansun/comments/68698.htmlhttp://m.tkk7.com/briansun/archive/2006/09/09/68698.html#Feedback9http://m.tkk7.com/briansun/comments/commentRss/68698.htmlhttp://m.tkk7.com/briansun/services/trackbacks/68698.html芒果软g实验室(Mango Software LabsQ是国内首家从事可视化思维工具cY件开发的机构。我们由一技术精q成,致力于用先q的软g技术帮助用L(fng)正意义上提高生率,?5%的成本ؓ(f)用户提供15%的解x(chng)案?/p>

芒果软g实验室正在研发中的项目BrainyQ利用盛行于Ƨ美Q风靡于全球的思维导图理论Q将?x)成为未来hcȝ之不得的全脑思维伴GQ它利用计算Y件技术和全脑思维艺术h们的大脑和思维带入一个积极、高效的全新领域QBrainy会(x)在h们日常办公和生活中帮助用户增忆、规划写作、促(j)q团队合作和内部沟通,在客hC、会(x)议记录、个划、项目管理、青年教育{方面更是发挥着不可估量的作用?/p>

Brainy不能取代MOffice 办公软gQ却能和当前的Office紧密集成Q成为办公Y件生态环境中的一员,Brainy存在的目的是Z(jin)填补用户的大脑和办公软g制品之间的`沟。多数用户可以在五分钟之内上手,q在W一ơ试用之后就M不得。尤其对于英文区国家的从在q种氛围中长大的用户而言更是Ҏ(gu)接受q种理念。也正因为如此,芒果软g实验室从成立之初把国际?jng)场当作最重要的市(jng)场来看待?/p>

目前Brainy仍在开发阶D,芒果软g实验室需要有理想有抱负有能力有信?j)的“四有”技术骨q和创业_英的加盟。我们以Eclipse RCPZ品的q行q_Q以试驱动Z品的开发过E,以大量开放标准和开源Y件ؓ(f)降低产品成本的有效手D,以全球第一的思维导图软gZ品的战略目标?/p>

芒果软g实验室在技术上重视重构和复用,在经营上重视产品化和全球化,在管理上重视“团队综合能力”和敏捷开发,实验室还?sh)(x)定期聘请“武林高手”现w讲座,让每位员工每周都有培训的Z(x)Q每月都有培训别人的dQ定期参加Code ReviewQ量w订做技术课E?/p>

思想为箭Q芒果做弓。一充满激情和个性的q轻人正试图通过他们的努力去改变?sh)Z的思维方式Q乃x(chng)变整个世界?/p>

加入我们Q你一定会(x)大开眼界Q?/p>


公司主页Q? (tng)http://www.mango-software.com

有意者请联系Q邮件请包含个h历)(j)Q?a href="mailto:hr.mangosoft@gmail.com">hr.mangosoft@gmail.com

Q申误位请注明信息来自BlogJava,会(x)得到更多的关?

招聘职位1:
【Y件设计师QRCP方向?br />
职位描述Q?br />通过重用Eclipselg搭徏桌面应用E序Q完成所有的设计要求Q将产品的易用性提高到专业水准。全部代码用Java5.0。(同时招全?实习(fn)研究生)(j)

职位要求Q?br />1。精通Eclipse RCPQEclipse插g开发,SWT/JFace架构?br />2。精通设计模式,熟练使用重构优化软g设计?br />

招聘职位2Q?br />【Y件设计师QODF方向?br />
职位描述Q?br />担QBrainy的核?j)模型的主要开发工作、文件格式设计、导入导出等。全部代码用Java5.0。(同时招全?实习(fn)研究生)(j)

职位要求Q?br />1。了(jin)解ODF?br />2。精通JCE者优先?br />3。精通设计模式,熟练使用重构优化软g设计?br />4。熟l用Eclipse开发环境,?jin)解试驱动开发的开发流E?br />

招聘职位3Q?br />【JavaE序员?br />
职位描述Q?br />? 任Brainy目l的开发h员,从开发开始做P逐渐参与设计、测试、需求等环节。全面认识ƈ使用Java5.0、Eclipse3.2? Graphical Editing Framework、Apache Ant、Jakarta Commons、iText、TrueZip、BouncyCastle{开发^台和~程环境。适合立志在Y件行业发展的同学。(同时招全?实习(fn)研究 生)(j)

职位要求Q?br />1。精通Java语言?br />2。有l图软g开发经验者优先?br />3。有桌面应用E序开发经验者优先?br />4。精通设计模式,熟练使用重构优化软g设计?br />5。熟l用Eclipse开发环境?br />6。了(jin)解测试驱动开发的开发流E者优先?/span>

 (tng)



Brian Sun 2006-09-09 12:34 发表评论
]]>
诚揽人才Q北京)(j)http://m.tkk7.com/briansun/archive/2006/08/01/61224.htmlBrian SunBrian SunTue, 01 Aug 2006 08:55:00 GMThttp://m.tkk7.com/briansun/archive/2006/08/01/61224.htmlhttp://m.tkk7.com/briansun/comments/61224.htmlhttp://m.tkk7.com/briansun/archive/2006/08/01/61224.html#Feedback4http://m.tkk7.com/briansun/comments/commentRss/61224.htmlhttp://m.tkk7.com/briansun/services/trackbacks/61224.html北京Q创业型软g公司Q走商用化品化路线Q目前正致力于开发某商务软g套gQ特别需要以下h才,有意者请联系Q?br />
Brian Sun
 (tng)briansun.vip@gmail.com
 (tng)13811410545

邮g请包含个人简历,Ƣ迎暑期实习(fn)?br />
【Y件设计师QUI方向?/b>
D全职均可?br />要求Q?br />1。了(jin)解什么是轻量lg架构Q熟l用其中的一个(最好是Swing或Draw2DQ?br />2。精通GEF者优先?br />3。了(jin)解基本的囑Ş学算法?br />4。精通设计模式,熟练使用重构优化软g设计?br />工作介:(x)
使用Draw2D~写一个类似GEF?00%MVC架构Qƈ用该架构~写q维护一个编辑器。全部代码用Java5.0?br />需要h敎ͼ(x)2?br />
【Y件设计师QRCP方向?/b>
D全职均可?br />要求Q?br />1。精通Eclipse RCPQEclipse插g开发,SWT/JFace架构?br />2。精通设计模式,熟练使用重构优化软g设计?br />工作介:(x)
通过重用Eclipselg搭徏桌面应用E序Q完成所有的设计要求Q将产品的易用性提高到专业水准。可能需要对插gq行分拆、替换或重写。全部代码用Java5.0?br />需要h敎ͼ(x)2?br />
【Y件工E师QJava方向?/b>
D全职均可?br />要求Q?br />1。精通Java语言Q具备一定的Java5.0知识?br />2。精通设计模式,熟练使用重构优化软g设计?br />3。熟l用Eclipse开发环境,?jin)解试驱动开发的开发流E?br />工作介:(x)
担Q某桌面应用程序的主要开攑ַ作?br />需要h敎ͼ(x)2?br />


Brian Sun 2006-08-01 16:55 发表评论
]]>
q化http://m.tkk7.com/briansun/archive/2006/08/01/61216.htmlBrian SunBrian SunTue, 01 Aug 2006 08:16:00 GMThttp://m.tkk7.com/briansun/archive/2006/08/01/61216.htmlhttp://m.tkk7.com/briansun/comments/61216.htmlhttp://m.tkk7.com/briansun/archive/2006/08/01/61216.html#Feedback4http://m.tkk7.com/briansun/comments/commentRss/61216.htmlhttp://m.tkk7.com/briansun/services/trackbacks/61216.html
当然Q这只是我的一个猜,因ؓ(f)我不是医学工作者,也不是进化论专家Q所以对q个问题没有发言权,而我惌的真正主体是QY件?br />
在过ȝ20q中Qh们眼睁睁看着微Y从一个小企业成长Y件帝国,很多人把q种变化归功于微软的商业技巧和蛮横的霸权主义,我对q一观点十分非常以及(qing)相当的赞同,但也该想清楚的是Q全世界的h们不?x)在短?0q中q化到额头上有个“M”,像老虎的额头上有个“王”一栗真实的情况应该是,忠实的用戯教出?jin)微软,而不是微软培M(jin)q大的用L(fng)。成功的软gL在h们心(j)里最痒痒的地方狠狠挠?jin)一下?br />
很多M打头的Y件在易用性方面有太多值得我们学习(fn)的细节了(jin)Q我们完全有理由比微软做的更好那是因为我们站在巨人的肩膀上。例如我非常喜欢的IE7Q尽它在很多方面仍然不如FirefoxQ但在其它一些方面却很快成为标准,比如合ƈ在一L(fng)前进后退按钮Q会(x)不会(x)又是一个进化的l果呢?又会(x)不会(x)对其它Y件的Undo/Redo功能产生影响呢?

在Y件开发领域亦是如此。比如很多Y仉需要浏览的功能Q其中多数Y件会(x)选择使用一个成熟的览器品来辑ֈq个功能QIE对大家说的一句话是:(x)“请我嵌入(zhn)的应用E序Q”,而Firefox对大家说的一句话是:(x)“请和我一L(fng)建?zhn)的应用程序!”h们更Ҏ(gu)接受哪一U呢Q我们同L(fng)到的是“ؓ(f)软g开发h员进化”和“让软g开发h员(sh)ؓ(f)我们q化”两U力量?br />
请将我所提及(qing)的观点同“面向”分开Q我拒绝说“面向用户”,因ؓ(f)q会(x)D责Ll用戗我很多软g企业Q尤其是那些正在wY件的易用性发愁的企业——比如:(x)用友Q将内部宣传的口h为“ؓ(f)用户q化”,因ؓ(f)q是一个动态的概念Q区别于“面向用户”;也是一个自ȝ概念Q区别于“用户驱动”?br />
也许全世界最应该得到我的q些的是Google。Google正企图从零开始创造另一个物U,也许我应该把它比L中式咖啡Q在q个q程中,创新q不是最重要的,无论我们要谈论的是态度q是Ҏ(gu)。要知道Q用户一时的Ȁ情只能让你一夜暴富,却不能让你称王称帝?br />


Brian Sun 2006-08-01 16:16 发表评论
]]>
两g事让我抓狂 之二QGoogle~程大赛疯狂掉线http://m.tkk7.com/briansun/archive/2005/12/13/23587.htmlBrian SunBrian SunTue, 13 Dec 2005 01:40:00 GMThttp://m.tkk7.com/briansun/archive/2005/12/13/23587.htmlhttp://m.tkk7.com/briansun/comments/23587.htmlhttp://m.tkk7.com/briansun/archive/2005/12/13/23587.html#Feedback33http://m.tkk7.com/briansun/comments/commentRss/23587.htmlhttp://m.tkk7.com/briansun/services/trackbacks/23587.html订阅我B(ti)log的h都知道,我小时候,~程竞赛是我的强,q是我最引以的两件事之一。尤其是“动态规划”的题目Q我更是׃(jin)高(sh)宝贵的一q去研究Qƈ且已l多ơ证明我是全?jng)(城市(jng)?j)青少q中做的最好的。所以直到现在,我仍然对q类~程竞赛充满?jin)自信。昨天和今天举行的“Google中国~程?xi)战赛”又让我兴奋?jin)v来,我已l一q没q么兴奋?jin),说实话,我对q入Google工作不抱有什么希望,也没惌得了(jin)什么奖Q只是希望能够爽一把,Q倒是很想得到李开复博士的{֐Q,像一个游戏高手看到游戏挑(xi)战赛那样?BR>
令h气氛的结果不说你们也能猜刎ͼ更可气还是态度问题Q下面是我跟admin的对话:(x)

briansun> (To Admin) admin:我刚刚掉U的时候还?分钟Q能否将着3分钟补回?BR>briansun> (To Admin) admin: 我已l完成了(jin)代码Q但是在点Compile的时候掉U了(jin)
visualage> (From Admin) briansun: 报歉Q不能?BR>briansun> (To Admin) admin: 我掉U的时候,pȝ自动log offQ然后计时仍然在l箋(hu)吗?
visualage> (From Admin) briansun: 是的?BR>briansun> (To Admin) admin: 那不是很不合理?
visualage> (From Admin) briansun: 我们认ؓ(f)q样才合理?BR>briansun> (To Admin) admin: 我后来又q箋(hu)登陆??ơ都没有成功才耽误?jin)时?BR>visualage> (From Admin) briansun: 不然你不是可以登上来Q看?jin)题Q下dQ做好再发上来?
briansun> (To Admin) admin: 你们Z(jin)杜绝q种情况把一些水q高?sh)是|络环境不好的h拒之门外Q!
visualage> (From Admin) briansun: 首先Q断U而导致来不及(qing)的hQ比offline下去作弊再上来帖的hQ肯定要得多?BR>visualage> (From Admin) briansun: 其次Q真正水q高的hQ不?x)在快来不?qing)的时候才交?BR>briansun> (To Admin) admin: 我能不能再做一ơ别的题目,用刚才那么多的时_(d)
visualage> (From Admin) briansun: 不可以?BR>visualage> (From Admin) briansun: 一个h只允许有一个̎受?BR>briansun> (To Admin) admin: N公^和多有兛_Q?Q!
briansun> (To Admin) admin: 真正水^高的人可以喝杯咖啡再来做题吧Q?BR>visualage> (From Admin) briansun: 真正的选手Q相信不?x)在比赛q行当中费旉?BR>briansun> (To Admin) admin: 但是|络费?jin)我的时_(d)
briansun> (To Admin) admin: 你们对网l质量不好的Zơ机?x)都不给吗?BR>briansun> (To Admin) admin: 那我应该投诉Googleq是TopCoderq是中国|通?
visualage> (From Admin) briansun: 投诉谁也没有用?BR>briansun> (To Admin) admin: 你是哪个公司的?员工号多?我投诉你Q?/FONT>

之后他再也没有回复。技术问题已l我很恼火?jin),居然q有态度问题Q我q是上篇那句话,我可以驳倒他Q但是却不能对这场比赛有M影响Q只能眼睁睁看着它l沿着“不公^”的道\C厅R后来我看了(jin)一下论坛,多数人反映教育网Ҏ(gu)掉线Q看来有志向的大学生们是跟Google无缘?sh)(jin)?/P>

抓狂的(chng)?BR>



Brian Sun 2005-12-13 09:40 发表评论
]]>
两g事让我抓狂 之一QMac OSX上没有可用的双拼http://m.tkk7.com/briansun/archive/2005/12/13/23586.htmlBrian SunBrian SunTue, 13 Dec 2005 01:35:00 GMThttp://m.tkk7.com/briansun/archive/2005/12/13/23586.htmlhttp://m.tkk7.com/briansun/comments/23586.htmlhttp://m.tkk7.com/briansun/archive/2005/12/13/23586.html#Feedback28http://m.tkk7.com/briansun/comments/commentRss/23586.htmlhttp://m.tkk7.com/briansun/services/trackbacks/23586.html1995q我q上了(jin)Ҏ(gu)?sh)脑Q但是没有钱Q也没必要买Q当时的Ҏ(gu)?sh)脑q很隄Q高层应用和PC有很大的差异Q但是现在的Mac OSX已经很好用了(jin)Q很多^时在PC上赖以生存的工具都有?jin)Mac版。简单D两个例子Q凡是跟Apache/Eclipse/Mozilla/Codehaus有关的品一般都有Mac版,GNU的品很多都有Mac版,Microsoft的品很多都有Mac版,凡是Mac OSX上的字处理YӞ多数都有导出成Word文档的选项Q以前认为我的掌上电(sh)脑(PocketPC2003Q没有同步YӞ最q也扑ֈ一个叫做PocketMac的东东。唯独没有的Q就是双D入法?jin)!事实上,Mac OSX本n带有一个双D入法Q但是不能改码表Q有点输入法常识的h都知道,双拼不能改表{于没有Q因为市(jng)面上行的码表少说也??个,无论你选择哪一个,基本上只?/8?/5的用户可以用?/P>

但是Q最令我气氛的是Q国内Y仉?00%PureJava的外Q几乎清一色没有Mac版,但是据苹果公司的数据看,中国的苹果电(sh)脑用户ƈ不少Q这是ؓ(f)什么?Qv初我站在软g生厂商的立ZQ觉得应该“把有限的资源投入到最q泛的市(jng)Z厠Z,但是随着旉的流逝我来感觉到q是人(当然也是自己Q,Z么呢Q我有三个理由:(x)

1。把应用从Windows上{UdMac OSX上非常简单。Mac OSX的架构看h复杂Q其实很单,是BSD+StepQ你用FreeBSD+OpenStep可以模拟一个了(jin)Q上面有GCCQ还有支持老式MacOS的APIQ要知道QMacOS跟Windows的相似程度要大于其它M视窗pȝ?/P>

2。拱手把?jng)场让给别h。Mac OSX上没有金p霸,我只好用Google工具栏的?qing)时译QMac OSX上没有QQQ我只好用Sinomac的isQQ其实大部分旉我用iChatQ这是一个Mac OSX自带的聊天工P因ؓ(f)支持JabberQ所以可以跟Google Talk的用戯天)(j)QMac OSX上没有MaxthonQ我只好把机?x)留lFirefoxQMac OSX上没有FlashGetQ我只好下个iGetterq且一直在用试用版QMac OSX上没有光拼韻I我。。。我。。。我什么办法都没的惻I因ؓ(f)老外不会(x)d拼音输入法?/P>

3。态度问题。抱着Ȁ励国产Y件的x(chng)Q我分别lQIMQ一个很好的输入法)(j)的作者和紫光拼音的支持h员发?jin)邮件。前者给我回?jin)邮Ӟ说他不懂双拼所以不做,然后我又回了(jin)邮gQ告诉了(jin)他双拼的概念QQ何一个有输入法常识的人都知道Q双拼只要在全拼上稍E修改就可以?jin),如果Q(jng)IM真的全部代码都是他写的话Q或者只要他理解全部代码的话Q,做出q样的修改不?个小时的工作量,可是我收到的回复邮gq是说“不做”,理由居然是?..完全依赖于输入的上下文关p?..”。天哪,我简直不敢相信自q眼睛Q我开始担?j)v自己是否有编E的天赋?jin),为此我特地请了(jin)一位同事——他是拼韛_加的创始Z一——证明了(jin)q种说法是站不住脚的。但是我没有再给他Q何回复,人家毕竟是一个h在无偿的写一个YӞ即我能在技术上驛_他也不能“要求”他做Q何事情。我H然惌v来很久之前老外曄议论q免费Y件有没有服务的问题,可惜q种争议在国内毫无动?rn),我的同事q笑我说“国产Y件连收费的都没有服务Q更不要说免费的?jin)”。真的吗Q我的心(j)巴凉巴凉的。光华宇更是直接了(jin)当的说不做?/P>

E有一些编E常识的人都知道Q从WindowsUL到Mac OSX是很单的Q稍有一些输入法常识的h都知道,从全拼到双拼的改动是很小的,可是国内同行Q你们在面对上面两个常识的时候,在想什么呢Q?

抓狂的(chng)?BR>



Brian Sun 2005-12-13 09:35 发表评论
]]>
q_相关性与q_无关?/title><link>http://m.tkk7.com/briansun/archive/2005/11/17/20177.html</link><dc:creator>Brian Sun</dc:creator><author>Brian Sun</author><pubDate>Thu, 17 Nov 2005 01:19:00 GMT</pubDate><guid>http://m.tkk7.com/briansun/archive/2005/11/17/20177.html</guid><wfw:comment>http://m.tkk7.com/briansun/comments/20177.html</wfw:comment><comments>http://m.tkk7.com/briansun/archive/2005/11/17/20177.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://m.tkk7.com/briansun/comments/commentRss/20177.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/briansun/services/trackbacks/20177.html</trackback:ping><description><![CDATA[q是一写l初学者看的文章。在前一D|间的招聘软g设计师的q程中,我对每一个看似初学者的人都?x)问q个问题Q“?zhn)觉得q_相关性和q_无关性哪个更? 一些”,呵呵Q偷W)(j)Q其实这是唬人的Q多数回{者都?x)顺着出题者假装的思\回答“我个h认ؓ(f)q_无关性比较好”,可是只要有点软g设计l验或是对这个问 题有所思考的人都知道其实q个问题?sh)只两个标准{案?br> <br> 关于q_无关性,我不惌什么,说什么也没用。大量Y件设计或软g架构以此来标榜自q优秀和出众,其实q没什么,因ؓ(f)大部分^台无x(chng)的工作不是׃? 做的。如果你正在写一个JavaE序Qƈ依照Sun?00% Pure Java的要求来做,那么应该是q_无关的,如果你正在写一个Eclipse应用或直接用SWT/JFacel合来写应用E序Q那么也是^台无关的Q如 果你喜欢C/C++Qƈ在用wxWidget写应用程序,那么也是q_无关的,如果你实在是很牛Q在依照OSGi的规范写代码Q那么okQ你的程序已l可 以从微设备到大型机统l可以用?br> <br> q_无关也是一个相对的概念Q在多个操作pȝ上运行可以称为^台无关的Q以往在多个不同品U的CPU上运行可以称为^台无x(chng),q有一件搞W的事情Q某? 公司Z(jin)一套系l,可以在Java?NET两个q_上运行,但却只能依赖于WindowspȝQ因而只能依赖于x86芯片Q,居然q可以称q_无关性, 可见q个概念有多么؜乱。我个h评h(hun)是不是^台无关的仅有一个标准,那就是——你有没有ؓ(f)q_无关做出贡献Q如果你Z(jin)能在多个q_上跑Z的代码而做? 很多工作Q那么你可以称自己为^台无关的Q而如果你仅仅依赖SWT工作Q那׃能称自己为^台无关的。不q话又说回来Q如果你把SWT包含在自q软g 中,qؓ(f)此出?jin)该软g的多个版本(每个SWT的版本是一个发行包Q,那么你也可以U此为^台无关的Q虽然这个A(ch)献ƈ非出自你手?br> <br> q_无关也不见得L个优点,很多pȝZ(jin)坚持q_无关而牺牲了(jin)很多Ҏ(gu),或不必要的提高(sh)(jin)成本。比如前几年很多pȝ原意搞WEB界面Q导致了(jin)很多易用? 斚w的问题,Cooper说Web使hZ互技术倒退?0q_(d)的确如此。我q读q一D|码,大概是一个单机版个h软g的源码,令h惊奇的是Q该软g? ,却把很多W墨花在?jin)业务对象和JDBC讉K层之间的一个“抽象数据存储层”,理由是便于将来移至非JDBCq_Q天哪!?x)有多少用户有机会(x)用不支? JDBC的数据库Q?Q!q种设计和下面一U设计是一L(fng)效用Q“ؓ(f)?jin)让q段代码支持非OO语境Q我军_整个软g只用一个类Q”。这U追求可以用四个字来 表述是Q“过渡设计”或者“吃饱撑着”!<br> <br> 相反Q这个世界上?0Q的软g是^台相关的Q这没什么不能理解的。就像“民d专制的TCO哪个高”这个问题的{案一P如果我现在要招聘的是部门l理 或副总裁Q我很可能会(x)问这个问题。事实上是,在整个hcȝ发展历程中,L本最低(x(chng)L率最高)(j)的几个“社?x)时期”,几乎全是专制Q但如果你不假思烦(ch)Q你? {案一定是民主Q当?dng)q_相关也是相对的概c(din)?br> <br> 说到q里Q有兴趣的读者可能会(x)说结合二者是最好的选择Q我不喜Ƣ这U说法,因ؓ(f)太L证了(jin)Q我喜欢的是首先考虑依赖于哪个框Ӟ再找寻该框架的^台无x(chng), 如果没有必要Q尽量不要ؓ(f)q_无关Q实际上是一U优先非常低的非功能性需求)(j)做Q何事情,但如果有必要且成本允许,再做许考虑Q最好还是能够重用开? 世界的品?br> <br> 仍以OSGiZQ这个例子很好,它对Java语言本nQ还?sh)是面向对象的公p义)(j)非常依赖Q直接依赖至VM的specQ当然也写了(jin)些代码以避开 ClassLoader的个性,即如此QOSGi事实上实C(jin)从微讑֤到大型机全套支持Q借助Java的^台无x(chng),既没有易用性、性能和成本方面的? 毫损失,也ؓ(f)上层q_提供?jin)^台无关的环境。同P为Mac OSX设计的很多非怼U的Y仉没有考虑q_无关的问题,而是用在PC上再做一套的方式来解冻Iq些都是值得思考和借鉴的解x(chng)案?br> <br> <span style="color: rgb(128, 128, 128); font-weight: bold;">有点忙的泡(chng)</span><br> <span style="color: rgb(128, 128, 128); font-weight: bold;">Q{载本文需注明出处QBrian Sun @ 爬树(wi)的(chng)泡[http://www.briansun.com]Q?/span><br> <br> <br> <img src ="http://m.tkk7.com/briansun/aggbug/20177.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/briansun/" target="_blank">Brian Sun</a> 2005-11-17 09:19 <a href="http://m.tkk7.com/briansun/archive/2005/11/17/20177.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于隐喻http://m.tkk7.com/briansun/archive/2005/11/15/19925.htmlBrian SunBrian SunTue, 15 Nov 2005 08:54:00 GMThttp://m.tkk7.com/briansun/archive/2005/11/15/19925.htmlhttp://m.tkk7.com/briansun/comments/19925.htmlhttp://m.tkk7.com/briansun/archive/2005/11/15/19925.html#Feedback8http://m.tkk7.com/briansun/comments/commentRss/19925.htmlhttp://m.tkk7.com/briansun/services/trackbacks/19925.html重温2005q?月期的《个人电(sh)脑》,一文章引起了(jin)我的思考,q篇文章的思想是说虽然每种?sh)子产品都努力成为未来时,但Q何电(sh)子品都不会(x)成ؓ(f) 未来时尚Q因为在它们被普?qing)之前它们就已经被淘C(jin)。(我认Z者是q个意思,但如果不是,请原谅)(j)。文章以iPodZQiPodQ我没用q,但是我n 边这位同事,正在使用?/p>

事实上这个世界上所有绝对创新的产品——注意,是绝对创新——都是超前的Q不易被人理解的Q流行不行都是它的表面现象Q它的本质是颠覆?jin)h们之? 的某U理c(din)历史证明这U创新很难成功,惌丑և一个伟大的发明因不合时代要求而饱受磨隄例子非常Ҏ(gu)Q找个小学生可以了(jin)Q历史证明这U创新很难成 功,但iPod不是p|者中的一员;历史证明q种创新很难成功Q除非。。。。。?/p>

除非什么?先看看我常说到的三个例子?/p>

iPod是hcd史上的一个歹怪的东西Q它q反?jin)h们之前对MP3播放器的要求Q它既不M不小Q没有击中h们对随n听的L需求;但是iPod? 入了(jin)另一些优炏V。。可以播攑־久。。。你都不知道自己惛_什么。。。华丽的外观。。。等{等{;事实是iPod取得?jin)?jng)场的胜利Q传lMP3厂商推出? 大量模仿iPod的品也丝毫未能撼动它的CQiPod嘲笑别h“你们不?jin)解客户的真正需求”,抨击iPod的h则说“iPod用户导向了(jin)一个错误的 领域Q用h~Z理性的Q他们ƈ不了(jin)解自q需要”,q就像辩的双方,正方说反Ҏ(gu)有读懂辩题,反方则说正方在歪曲辩题?/p>

另一个例子来自Google TalkQ现在我已经基本M开它了(jin)Q虽然在几个月前我曾扬言“聊天工h只要QQ”。Talk的出现来自对传统?qing)时通讯工具QIMQInstant MessageQ和“因特网实时聊天”工PIRCQInternet Realtime ChatQ的反叛Q这些工L(fng)q近10q的发展已经来趋向复杂和׃化,互联|上随处可见“Q(jng)Q大战MSN”之cȝ帖子Q评价它们娱乐功能之间的? 异,但是Talk却以z的外观和几乎可以称为“功能不全”的软g设计杀入市(jng)场。与前一个例子相比,Talkq未取得什么可以称道的成功Q但它的成功是必 然的Q我有我的理由?/p>

问题出在哪里Qؓ(f)什么会(x)有些q反?jng)场原理的所谓绝对的或彻底的创新取得胜利?jin)呢Q问题场出在我们的意识上。这好比你遇到一位美奻I你把她跟老婆? ?jin)一个简单的比较后发现她比老婆更性感Q但没有老婆可爱贤惠Q这时美奛_你表达了(jin)爱慕之心(j)Q怎么办?哈哈。我用脚֤想一下也知道?x)有两种l果发生Q一U? 是在犹U痛苦?jin)很久之后终于还是回到老婆的怀抱,让美奛_望即使她取得q短暂的成功Q另一U可能是和老婆之间产生?jin)越来越多的隔阂Q不知道q些隔阂是从? 来的Q最后“不得不”分手,然后在痛苦了(jin)一段旉之后又找C(jin)新的归宿。而我要表辄观点是,q两U结果生于两个不同的隐喅R在前一U情况里Q美奛_ 你示意的l果是你认ؓ(f)她可以成Z的老婆Q也是_(d)她的目的是老婆Q她的竞争对手是老婆Q你必须在她和老婆之间作出选择。而在后一U情况里Q她p 定的隐喻是“情人”,她的目的是成Z生活中的另一个角Ԍ因此你很快就接近?jin)她q在不经意间帮助她取得了(jin)最后的胜利?/p>

q个例子_夸张?jin)吧Q再看看前面两个例子Q开头那文章引起了(jin)我的注意Q因Z者的观点是iPod的隐dƈ不是一个MP3随n听,而是一个晶体管 攉机的替代品。(做惊讶状Q试想h们ؓ(f)什么听攉机,是ؓ(f)?jin)随旉地可以听到已l录制好?jin)的节目Q这些节目包括多数具有听觉n受的声音内容Qƈ可以随意 切换Q而现代收x(chng)的缺Ҏ(gu)q些节目不能随意l织Q有时还?sh)(x)被地理位置影响收听品质。iPod没有地理位置的媄(jing)响,节目可以随意l织Q(也可? ShuffleQ,更重要的是,现在的互联网和BT下蝲{技术已l可以很方便的找到所以你喜欢的节目,除非你喜Ƣ某个电(sh)台的DJQ或者喜Ƣ打热线?sh)话参? 互动游戏Q否则iPod都可以胜仅R此外,我们应该对网上可以下载的声音内容来丰富充满信?j),我之前的一个室友一直以听mp3的评书ؓ(f)杀旉的主要方 式?/p>

我已l离不开Talk?jin),自从我跟一个武大的MM常用Talk聊天之后Q现在跟老婆也L用Talk聊天QTalk的好处是ȝQ速度快,H口, 不占I间Q桌面空间和内存I间Q,没有׃八糟的提C和q告。与Gmail良好集成Q最q还发现它的一个好处是使用开攑֍议,所以在我刚买的iBook? 没有Talk我还可以用Google帐号跟Talk用户聊天Q用iChatQ,q样又充分利用了(jin)iChat的优炏V上ơ见到duduQ很久了(jin)Q的时候还? 起TalkQ很多h认ؓ(f)Talk的优点在于跟Gmail的良好集成,q意味着Talk存在一个很有竞争力的隐喻:(x)“能聊天的邮件提醒器”。如果你大部分的 |络生活都跟Gmail联系在一P那你真的?x)离不开它?/p>

隐喻的魅力是可以让一个不易被人理解的创意变得易于被h接受Q不理解不要紧,感情上的接受是最重要的。事实上Q隐dƈ不是对事物表面现象的某个概括 或ȝQ而是对事物本质的歪曲的描q。虽然歪Ԍ但毕竟是体现本质的。不仅不同的隐喻可以D不同的后果,同一个隐M可以D不同的后果。最初老师在课 上讲“菜单”,很多学生都笑Q“此菜单非彼菜单也”。Windows中提到的主菜单有很多Q每个窗口都有一个,优点是菜单的内容与窗体(甚至H体的内容)(j) 相关Q在同一个桌面上可以看到主菜单的比较Q缺Ҏ(gu)带来?jin)大量的视线转移Q且存在菜单被遮蔽的可能性。Macpȝ上的主菜单是全局唯一的,随当前激zȝH? 体的改变而改变,优点是ؓ(f)不会(x)出现用户“找菜单”的局面,~点?jin)降低?jin)菜单在应用程序功能中的地位,好在多数用户在从“初U”向“中U”的转变?sh),对菜? 的依赖越来越,对快捷键QMac上称“键盘迅捷”)(j)的依赖越来越多?br>
泡(chng)很久不见



Brian Sun 2005-11-15 16:54 发表评论
]]>
用例q是用案http://m.tkk7.com/briansun/archive/2005/09/19/13397.htmlBrian SunBrian SunMon, 19 Sep 2005 06:37:00 GMThttp://m.tkk7.com/briansun/archive/2005/09/19/13397.htmlhttp://m.tkk7.com/briansun/comments/13397.htmlhttp://m.tkk7.com/briansun/archive/2005/09/19/13397.html#Feedback7http://m.tkk7.com/briansun/comments/commentRss/13397.htmlhttp://m.tkk7.com/briansun/services/trackbacks/13397.html首先要做个广告,UMLChina(http://www.umlchina.com)是一家致力于在国内普?qing)UML工具和方法学的一家网站,UMLChina目前已经丑֊q?7期公开课,W?7期于上周六周日在北京举行Q主讲是国内W一批该领域的先行者潘加宇Q熟(zhn)?lt;<E序?gt;>的朋友们应该非常熟?zhn)q个名字。我有幸d?jin)这ơ公开课,虽然评的内容多数对我来说是很熟的了(jin)Q但是课E的形式上还是让我感受到?jin)一丝震惊,我已l很久没有认真听q课?jin)(大三的时候我喜欢学校里几个教理学的教授Q挺的很认真Q此后就再也没认真听q课?jin)?j)Q但是这ơؓ(f)期两天的评q是l我感觉吸取?jin)很多能量。作Z个学生的观点Q我认ؓ(f)能吸引学生是合格的老师的第一道门槛;作ؓ(f)一个老师Q我偶尔也走上讲収ͼ(j)Q我认ؓ(f)一节课能让学生领?zhn)C个或两个道理已l很?jin)不起?jin)Q而老潘是q种讲师。(本条q告不收费)(j)

W二件事q是做广告。在上课的空余时间里Q我看了(jin)<<UML Distilled>>q本书,最新的版本是第三版Q里面涵盖了(jin)UML 2.0的主要内容,Martin Fowler的书我全C(jin)Q也全看?jin),每一本都是经典,没有一句废话。可是o(h)我有些不爽的是这本书的翻译。这本书的翻译者和本书W二版的译者是同一个hQ可能这位翻译者在译上一个版本的时候UML界的一些术语的译法q没有统一Q所以用的词和我们后来看到的多数关于UML的主文档和书籍中不太一PZ人阅d来了(jin)一些不便,q一版他q沿用了(jin)上一版的译法Q可能是译者很满意于自׃前的作品的缘故吧。(本条q告也不收Martin Fowler的钱?jin)?j)

最后一件事是想讨论一下这本书里的一个译法:(x)译者把所有的Use Case都翻译成?jin)“用案”,而不是我们闭着眼睛也能说出来的“用例”。事实上China-pub上曾l还有翻译成“用况”的Qƈ且讨Z十分Ȁ烈。关于这个词的翻译我想了(jin)很多Q(没有利用上课的时间想Q呵呵)(j)Q最后我q是觉得可能“用案”更贴切一些。我的理由是q样的:(x)case一词在国内用的最多的地方一般都译为“案例”,主要出现领域是管理咨询业和大学教Ԍ所以ؓ(f)?jin)保持其字面意思,q是译成“用例”或“用案”比较好Q至于“用况”,不容易让惌vCase来,要知道技术翻译最重要的一点就是“隐喠Z,M译都应该保证“Use Case”和“Test Case”在本质上是一U东西,二者的差别应该体现在用途和形式上。就像男人和女h的本质都是h一栗如果Test Case能翻译成“测况”的话,那我实在佩服这位译者的惌力和勇气?jin),因?f)“测况”很Ҏ(gu)让h联想起“测试实况”。接下来比较“案”和“例”,因ؓ(f)案有书面表示的意呻I与公文打叫道的工作常常被UCؓ(f)“文案”;而“例”既有依据的意思,又有规定的含义。我认ؓ(f)使用“用例”一词的译者认为用例既是一U依据也是一U规定,所以应该用“例”。但事实上用Use Case一词的老外也许q不是这U看法,他们可能既不是想要依据,也不是想要规定(SpecificationQ,而仅仅是惌一U结构化的文,该文档以定义角色和封装角色的目标现手法,很好的ؓ(f)需求的描述和特征的枚D提供?jin)。所以,“案”更能表C其英文原意。而Test Case则可以翻译成“测案”,如果不舒服,叫“测试案例”好?jin)。下面附?lt;<国际标准汉语大词?gt;>对这两个字的分别解释?/P>

?BR>1.长Ş的桌子或架v来代替桌子用的长木板Q~子。~ѝ书~。条~。拍~而v?BR>2.提出计划、方法和的文件或记录Q~。备~。议~。提~。方~。有~可查。~南~牍?BR>3.事gQ特指涉?qing)法律问题的事gQ惨~。血~。~件。~例。~犯。破~?BR>4.古代有短脚盛食物的木托盘QD~齐眉(形容夫妻相敬Q?/FONT>

?BR>1.可以做依据的事物Q~证。~题。D~。~句。~如?BR>2.规定Q~外(不按规定的,和一般情况不同的Q。体~。凡~。条~。破~。发凡v~?BR>3.按规定的Q照成规q行的:(x)~会(x)。~假。~行公事?BR>4.调查或统计时指合于某U条件的h代表性的事情Q事~。病~。案~?/FONT>

我本语水q_烂(不是谦虚Q,所以对于翻译也没什么发a权,更不惌技术翻译精׃叫板Q这随W仅是随便聊聊,弥补一下中U之夜没有写blog的憾事Ş?jin)?BR>



Brian Sun 2005-09-19 14:37 发表评论
]]>
也谈天下归一http://m.tkk7.com/briansun/archive/2005/09/02/11844.htmlBrian SunBrian SunFri, 02 Sep 2005 09:23:00 GMThttp://m.tkk7.com/briansun/archive/2005/09/02/11844.htmlhttp://m.tkk7.com/briansun/comments/11844.htmlhttp://m.tkk7.com/briansun/archive/2005/09/02/11844.html#Feedback5http://m.tkk7.com/briansun/comments/commentRss/11844.htmlhttp://m.tkk7.com/briansun/services/trackbacks/11844.html
现在Q有两g事情需要补充:(x)
1。我当时Q?月䆾Q的猜测已经得到证实QBorland已经宣布作ؓ(f)独立软g的JBuilder已经走到?jin)它生命的尽_(d)下一个版本的JBuilder Q可能是2006Q今q年底将发行Beta版)(j)徏立在Eclipse的基之上。也是说作为Eclipse对头的JBuilder已不复存在,现在? JBuilder是以一lEclipse的插件Ş式提供给它忠实的用户和粉丝的?br>
2。BEA已经把AspectWerks贡献lAspectJq个已经不是新闻?jin),但是直到今天我才意识到这一战略的真正含义!原本AspectJ? IBM一手主导的情况已经被改变(sh)(jin)Q施乐已l交Z(jin)AspectJ整个开发小l,现在的领gh是IBM的Adrian ColyerQ,现在的AspectJ是由IBM和BEA联合控制的品。看看有关AspectJ 5的随便一报道吧Q长期以来在AOP领域内的楚河汉界——语法方面和XML斚w——{g成了(jin)一条通天大道Q而AspectJ昔日的最大竞争对手今天也 手拉手肩q肩的走在了(jin)一P好像那些战火和烟只存在于日记中一栗?br>
2004q_(d)AOP的创始hKiczales曾有q一D访谈,大概介绍?jin)AOP的标准化之\Q其中给Z(jin)两条道\供世人选择Q以AspectJ为标准,? 者,以AspectJ来制定标准,现在看来IBM和BEA已经代表人类作出?jin)选择。想到这。。。。。。我真的无话可说?jin)?br>
而且QBEA的野?j)还(sh)仅仅局限于此。“在开源的世界里,什么是贡献Q”这个问题(sh)好回{,但是下面q个问题要简单一些:(x)“靠昆虫传媒的花Z么都要好? 一些?”BEA贡献出AspectWerks的代h得到?jin)整个AspectJQƈ且它已经多次表示在JRockit中全面支持AspectJ?jin)!设? 一下这是什么样的局面吧Q作Z间g巨头的BEAQ现在已l具备了(jin)随时可以它庞大的品线全方位的q移到轻量容器的\U上M(jin)Q因为它可以从虚拟机? U别支持AOPQ釜底抽薪式的对所有开源容器发h一轮的剿匪q动QIBM怎么办?IBM也没办法啊,除了(jin)应招之外q能q什么,好在IBM的精力全在这? 面了(jin)Q又有AspectJ的主控制权。再假想一下——最后一ơ假惻I如果IBM和BEA联手转向轻量U容器。。。。。。宁可。。。不要让。。。漏|!—? 嘘,声点!

写日记的泡(chng)




Brian Sun 2005-09-02 17:23 发表评论
]]>
关于AOP的七个猜?/title><link>http://m.tkk7.com/briansun/archive/2005/08/31/11634.html</link><dc:creator>Brian Sun</dc:creator><author>Brian Sun</author><pubDate>Wed, 31 Aug 2005 05:53:00 GMT</pubDate><guid>http://m.tkk7.com/briansun/archive/2005/08/31/11634.html</guid><wfw:comment>http://m.tkk7.com/briansun/comments/11634.html</wfw:comment><comments>http://m.tkk7.com/briansun/archive/2005/08/31/11634.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.tkk7.com/briansun/comments/commentRss/11634.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/briansun/services/trackbacks/11634.html</trackback:ping><description><![CDATA[<P><STRONG><FONT color=#ff0000>1。随处可见猜惟?BR></FONT></STRONG>在未来的软g开发过E中QAOP以一U基~程能力的Ş式出玎ͼ与OOP共同发展Q成Z开发环境的一个组成部分。而目前ؓ(f)止,AOP只是作ؓ(f)一U开发工兗或q行时代码而存在。到?jin)那个时候,可能没有哪个产品声称Q“我使用?jin)AOP”,因ؓ(f)没有哪个产品没有使用AOPQ就像现在没有哪个品没有用OOP一栗就你的源代码中没有应用到~程语言的AOP能力Q你也可能调用了(jin)某个应用?jin)AOP的基库。事实上QAOP之父Kiczales认ؓ(f)AOP可能首先在操作系l上有一定规模的应用?/P> <P><STRONG><FONT color=#ffa500>2。语aU猜惟?/FONT></STRONG><BR>AOP的真正实现是在一个特定的语言基础上的。比如数q之后,人类开始普遍用K语言QK是J的后一个字母)(j)QK语言在语a本n上就可以~织和横切。此时AOP才得到真正的成熟Q因为程序员在编写代码时可能Ҏ(gu)不知道自q到的是曾l的OOq是现在的AOQ只有了(jin)解K语言虚拟机构造和背后实现的h才知道。但是,可能׃人固有的思维方式的问题吧QAOP仍然不会(x)比OOP要用的更多Q甚x(chng)可能仍然是Kiczales所提到?5% SolutionQ但是,从语a的角度去实现AOP也许?x)给人类的编E观念带来巨大的变化Q这U变化就像OO所带来的一栗?/P> <P><STRONG><FONT color=#ffff00><FONT color=#a52a2a>3。存在AOD/AOA猜想?/FONT><BR></FONT></STRONG>OOP对hcȝ影响q不如它的两个弟弟OOA/OODQ后两者已lؓ(f)整个软g开发行业带来了(jin)一ơ意义深q的革命Q它臛_使得全世界开发团队的人数扩大?0倍,开发工具和q_的复杂程度增加了(jin)10倍,完成客户某些单要求的成本降低?0%Q唯一的遗憄是,软g开发的效率几乎没有数量U上的变化(依据《没有银式V)(j)。既然存在AOPQ我们猜想也?x)存在AOD/AOAQ比如会(x)存在面向斚w的重构手D,面向斚w的设计模式,面向斚w的最?jng)_践,面向斚w的过E管理,以及(qing)在UML的未来版本中看到为面向方向而专门做的改q,甚至d一个新的UML囄型。当q些东西都生的时候,AOP才真正发展到?jin)鼎盛时期?/P> <P><FONT color=#008000><STRONG>4。可执行用例猜想?/STRONG></FONT><BR>AOP是一个广泛适用的充满想象空间的新技术,但是目前Z对AOP的研I方向过于狭H,大部分声U正在研IAOP的开源项目其实是把AOP当成一个辅助工h使用Q这些项目中又有相当一部分是在做企业开发环境下的容器,他们q没有针对AOP本nq行开发。事实上Q依照Jacbson的说法,AOP直接导致Y件的开发分ZUŞ式——对模块的开发和对用例的开发,现在的用例仅仅是囄Q必要转变?sh)OO代码才能执行Q但是一旦有?jin)AOPQAOP可以直接依据用例的定义,多个不同的模块Q可能来自不同的开发单位)(j)q接hQŞ成方面,而方面本w是可以执行的(语言U猜惻I(j)Q所以用例也׃再是囄而是可以执行的了(jin)。这对于以UML为核?j)的C软gq程来说Q是个极好的信号?/P> <P><FONT color=#ffc0cb><STRONG><FONT color=#9acd32>5。标准化猜想?/FONT><BR></STRONG></FONT>OO的成功经验告诉我们,要想取得最后的胜利Q就要一致对外,l一?jin)内部的概念Q剩下的争论只有实现问题(sh)(jin)。我个h认ؓ(f)Q多数OOP语言在概念上都是一致的Q这U概念被语言学称之ؓ(f)语义Q多数OOP的语义来自Smalltalk和C++q些早期试者,数来自Javaq种在技术的成熟期涌现出的商业品。AOP目前q面临着q个问题。业界对AOP的标准化q程有两个猜惻I一是由AspectJ领头Q各大AOP实现都以AspectJ的语义作为研I题的基本用语Q设计和实现沿用现在的思\Q另一个猜x(chng)由权威组l,Q开源、商业、或全球研究l织Q,如Eclipse/IBM/OOPSLA{等拿出一个统一的AOP语义内核Q所有AOP目都以该内ؓ(f)基础开发。Java虚拟机是前一U思\的成功案例,后者则以XMLZ表?/P> <P><STRONG><FONT color=#7fffd4><FONT color=#000080>6。全?rn)态编l猜惟?/FONT><BR></FONT></STRONG>下面讨论一个实际的技术问题。时下多数AOP目采用的编l技术无外乎两种Q静(rn)态编l和动态编l。前者是指在~译前(预编译期Q、编译期、和~译后编l,后者是指在q行期编l。Kiczales认ؓ(f)虽然没有明显的技术缺P但动态编l可能会(x)面(f)一些发展远景的问题Q他UC为“Y件的演化问题”。不知道我对大师观点的理解是不是准确Q我认ؓ(f)׃被编l的代码是在变化Q发展)(j)中的Q我们L希望q种变化对编l本w的影响最,q时?rn)态编l面临的问题最多就是重新编译,而动态编l可能不?x)那么简单。此外,全静(rn)态编l会(x)D另一个优点——这听v来有点奇怪——就是能力较弱,因ؓ(f)全静(rn)态编l承了(jin)OO语言本n的约束,比如Java的约束和.NET之CLR的约束等{,q对于更规范的用开发利器是大有好处的。“应该对人类准备大规模应用的每一U新工具心(j)钛_。?/P> <P><FONT color=#800080><STRONG>7。AOP的诞生之qL(fng)惟?/STRONG></FONT><BR>Kiczales先生在从事AOP的研I和开发之前也曾接触过其它对OOP的改良研IӞ其中包括反射和元对象技术。事实上Q心(j)qx(chng)和的_(d)后两者的变通能力和灉|E度都在前者之上,但是正因为如此,语言学家们认为,q些技术ƈ不能有效的改善OOP的弊端,甚至q有可能引狼入室Q带来新的“狼人问题”。后来,当Kiczales发现AOPӞ他明白这才是Z真正需要的Q他认ؓ(f)他们抓住?jin)问题的咽喉。时至今日,AOP的实现技术已l千姿百态,癑֮争鸣?jin),但是QAOP创立之初的种U想法也在这U百׃艳中渐渐被h们遗忘,现在利用反射、元对象技术以?qing)种U双刃剑式的技术来实现AOP的想法已l像争抢参院席位一样争夺市(jng)场的认可Q这是事物的发展q是理想的倒退QAOP何时才能回归它的本原Q上天ؓ(f)它安排的命运I竟如何Q我们拭目以待?BR><BR>最q,我和我的几个朋友正在l织一批开源斗士们合作~写AOP.NETQ这是一个开源YӞ在博客园上可以看到部分有兌目的消息。但是由于种U原因,我们对一些基本的问题q没有达成共识,本文来自我对AOP的一贯看法,也是我对C֛里很多问题的一个集中性回{吧?/P> <P>开源(chng)?BR>Q{载本文需注明出处QBrian Sun @ 爬树(wi)的(chng)泡[http://m.tkk7.com/briansun]Q?BR></P><img src ="http://m.tkk7.com/briansun/aggbug/11634.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/briansun/" target="_blank">Brian Sun</a> 2005-08-31 13:53 <a href="http://m.tkk7.com/briansun/archive/2005/08/31/11634.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>试驱动开发全功略http://m.tkk7.com/briansun/archive/2005/07/31/8813.htmlBrian SunBrian SunSat, 30 Jul 2005 18:08:00 GMThttp://m.tkk7.com/briansun/archive/2005/07/31/8813.htmlhttp://m.tkk7.com/briansun/comments/8813.htmlhttp://m.tkk7.com/briansun/archive/2005/07/31/8813.html#Feedback19http://m.tkk7.com/briansun/comments/commentRss/8813.htmlhttp://m.tkk7.com/briansun/services/trackbacks/8813.html试驱动开?Test Driven Development/TDD
试用例/TestCase/TC
设计/Design
重构/Refactoring

{目录}
TDD的目?
TDD的优?
TDD的步?
FAQ
Best Practise
关于单元试
实例QFibonacci数列
关于本文的写?
后记QMartin Fowler在中?
鸣谢

什么时候重构?
什么时候设计?
什么时候增加新的TestCaseQ?
TestCase该怎么写?
TDD能帮助我消除Bug吗?
我该Z个Feature~写TestCaseq是Z个类~写TestCaseQ?
什么时候应该将全部试都运行一遍?
什么时候改q一个TestCaseQ?
。。。。。?

Q{载本文需注明出处QBrian Sun @ 爬树(wi)的(chng)泡[http://www.briansun.com]Q?nbsp; 阅读全文

Brian Sun 2005-07-31 02:08 发表评论
]]>
好书推荐&lt&lt About Face 2.0 &gt&gthttp://m.tkk7.com/briansun/archive/2005/07/29/8734.htmlBrian SunBrian SunFri, 29 Jul 2005 05:29:00 GMThttp://m.tkk7.com/briansun/archive/2005/07/29/8734.htmlhttp://m.tkk7.com/briansun/comments/8734.htmlhttp://m.tkk7.com/briansun/archive/2005/07/29/8734.html#Feedback2http://m.tkk7.com/briansun/comments/commentRss/8734.htmlhttp://m.tkk7.com/briansun/services/trackbacks/8734.html英文名:(x)About Face 2.0 - The Essentials Of Interaction Design
中文名:(x)软g观念革命——交互设计精?/span>

作者:(x)Alan CooperQRobert M. Reimann

泡(chng)的评P(x)
本书W一版几乎引发了(jin)一张全球Y件界的革命,然而这ơ革命的影响却由于种U原因未能在今天的多数Y件中体现Q这不是人类的?zhn)哀Q这是我们要Z奋斗的事 业。自从我们选择入了(jin)软gq一行,我们有义务为用h供经q出色设计的软gQ可管如此Q我们当中仍然有很多人根本不知道什么叫设计。本书的作? Alan Cooper为微软拿C(jin)为数不多的几个Jolt大奖中的一个——Visual Basic2.0Q也为我们提供了(jin)为数不多的几本好书中的一本——About Face2.0。我们崇拜大师,q不因ؓ(f)他们是上帝,而是因ؓ(f)他们是上帝的布道者;我们渴望设计Qƈ不因计代表一切,而是因ؓ(f)一切都依靠设计。书的扉 上写着Q“因计,所以出艜y(c)?br>
China-pub的简介:(x)
本书是一本由一位在交互设计前沿有着10q设计咨询经验及(qing)25q计机工业界经验的卓越权威撰写的设计数字化产品行ؓ(f)的启蒙书。它探烦(ch)?jin)一个独特的设计? 域,卛_杂系l行为的设计——特别是软gȀzL术。本书论qCU具有革命意义的设计观念——hc驱动设计过E? 本书是一本难得的大师l典之作Q应该是一本品规划师、界面设计师以及(qing)可用性工E职业h员或者程序员都想得到的书?br>
目录Q?/span>

W一??jin)解你的用?br>
    W一部分 弥合差距
    1 目标导向设计
    2 实现模型和心(j)智模?br>     3 新手. 专家和中间用?br>     4 理解用户Q定性研I?br>     5 用户建模Qh物角色和目标
    6 脚本提纲Q将目标转换?br>     7 l合好的设计Q原理和模式

W二?设计行ؓ(f)和Ş?br>
    W二部分 除去障碍Q达到目?br>     8 软g姿?br>     9 和谐与流
    10 消除附加工作
    11 D和调?br>     12 理解撤销
    13 重新思考?Files ”和?Save ?br>
    W三部分 提供高效能和愉?zhn)?br>     14 设计体脓(chung)的Y?br>     15 设计的Y?br>     16 改进数据?hu)(g)?br>     17 改进数据输入
    18 Z同的需要进行设?br>
    W四部分 应用视觉设计原理
    19 外观设计
    20 隐喻. ?fn)惯用法和启C?br>
W三?交互l节

    W五部分 鼠标和操?br>     21 直接操作和定点设?br>     22 ??br>     23 ??br>     24 操作控g. 对象和连?br>
    W六部分 控g?qing)其行?f)
    25 H口行ؓ(f)
    26 使用控g
    27 菜单Q教学向?br>     28 使用菜单
    29 使用工具条和工具提示
    30 使用对话?br>     31 对话框礼?br>     32 创徏更好的控?br>
    W七部分 与用L(fng)交流
    33 消除错误
    34 通知和确?br>     35 与用L(fng)其他交流方式
    36 安装q程

    W八部分 越桌面的设?br>     37 Web 设计
    38 嵌入式系l的设计



Brian Sun 2005-07-29 13:29 发表评论
]]>
哪些是rup必须要有的制?/title><link>http://m.tkk7.com/briansun/archive/2005/07/22/8165.html</link><dc:creator>Brian Sun</dc:creator><author>Brian Sun</author><pubDate>Fri, 22 Jul 2005 01:46:00 GMT</pubDate><guid>http://m.tkk7.com/briansun/archive/2005/07/22/8165.html</guid><wfw:comment>http://m.tkk7.com/briansun/comments/8165.html</wfw:comment><comments>http://m.tkk7.com/briansun/archive/2005/07/22/8165.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.tkk7.com/briansun/comments/commentRss/8165.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/briansun/services/trackbacks/8165.html</trackback:ping><description><![CDATA[<BR><SPAN style="FONT-WEIGHT: bold">1。项目概q?/SPAN><BR>单的说就是“WHAT IS”。向M对该目感兴的角色传达q些基本的必要的信息?BR><BR style="FONT-WEIGHT: bold"><SPAN style="FONT-WEIGHT: bold">2。风险列?/SPAN><BR>以头脑风暴的方式列出目可能遇到的所有风险。风险列表一定要是客观的Q既不能推卸责Q也不能表军_(j)献殷勤,要实事求是?BR><BR><SPAN style="FONT-WEIGHT: bold">3。用?/SPAN><BR>需求的规范表现形式。用例ƈ不一定要用UML用例图来表示Q但是颗_度是用例最难以把握的问题(sh)一?BR><BR><SPAN style="FONT-WEIGHT: bold">4。设计图</SPAN><BR>通常用于M设计Q可以是UML图,也可以是CRC卡,q可以是更灵zȝ一些东西,视项目组成员的习(fn)惯和水^而定?BR><BR><SPAN style="FONT-WEIGHT: bold">5。构建工?/SPAN><BR>如Ant脚本Q目的是实现每日构徏?BR><BR><SPAN style="FONT-WEIGHT: bold">6。版本管?/SPAN><BR>(zhn)观锁如VSS或乐观锁如CVS/SVNQ都无所谓,关键是要能管理不同的分支和历史工作成果?BR><BR><SPAN style="FONT-WEIGHT: bold">7。测试用?/SPAN><BR>按TDD的说法,试用例应该打成包,随品已l发布,q样在每ơ修改代码之后或发布一个新版本之前都可以确保之前的代码仍然是有效的?BR><BR><SPAN style="FONT-WEIGHT: bold">8。?/SPAN><BR>包括二进制发布包和所有导致该发布包的源代码或原始配置文g?BR><BR><SPAN style="FONT-WEIGHT: bold">9。发布说?/SPAN><BR>q这一版与上一版的不同。当然还要包括版权声明、其它商品的版权声明、和许可证?BR><BR><SPAN style="FONT-WEIGHT: bold">10。开发计划和q代计划</SPAN><BR>目q程中生的制品Qؓ(f)日后开发其它项目提供参考资料?BR><BR>RUP泡(chng)<BR><BR><img src ="http://m.tkk7.com/briansun/aggbug/8165.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/briansun/" target="_blank">Brian Sun</a> 2005-07-22 09:46 <a href="http://m.tkk7.com/briansun/archive/2005/07/22/8165.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>体验l济在Y?/title><link>http://m.tkk7.com/briansun/archive/2005/07/21/8095.html</link><dc:creator>Brian Sun</dc:creator><author>Brian Sun</author><pubDate>Thu, 21 Jul 2005 02:38:00 GMT</pubDate><guid>http://m.tkk7.com/briansun/archive/2005/07/21/8095.html</guid><wfw:comment>http://m.tkk7.com/briansun/comments/8095.html</wfw:comment><comments>http://m.tkk7.com/briansun/archive/2005/07/21/8095.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://m.tkk7.com/briansun/comments/commentRss/8095.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/briansun/services/trackbacks/8095.html</trackback:ping><description><![CDATA[<P>q?00q来国l济学界和管理学界的L理论和理论框Ӟ都会(x)或多或少的在其它领域的主理论和理论框架中生映,q是很多Ml管专业的学生改行进入其它领域后ȝ?j)得。在下不才,也是其中一员,q且也有一点自q?j)得?/P> <P>最q十q管理学界对体验l济的理论层ZIP形成理论界的一大热炏Vȝ来说Q体验经是未来的l济模式Q同产品l济、商品经和服务l济相区别,对这个概念不?jin)解的朋友可以先看一个写在《体验经》一书扉上的这个案例:(x)</P> <P><FONT color=#008000>Rebecca的妈妈小时候过生日QRebecca的奶奶自׃手做蛋糕为她?jin)祝Q她的原料比如奶沏V鸡蛋、面_等{都是从邻街的小店里面一分一分买来的。Rebecca时候过生日Q妈妈打?sh)话l附q的一家蛋p店Q蛋p店立即送来的美呛_口的蛋糕Q这样Rebecca可以请邻居家的小孩来qPartyQ这个蛋p只要花十几元。现在Rebecca的女儿过生日QRebecca整个生日交lDisney公司dQ公司的姐姐们带Rebecca的女儿和她的伙伴们d郊的一个小山坡野营。在那里Q孩子们学会(x)?jin)自己搭帐篷Q挤牛奶Q采野生的葡萄酿酒,整理破旧的茅草屋。在一天的猎奇旅程之后Q公叔R每一位孩子回ӞRebecca付给?jin)他们一?146的支?/FONT></P> <P>管体验l济首先是在饮、旅游、娱乐、零售等行业首先发展q扩散开来,但是我相信,它迟早会(x)在Y仉域展露头角。我的这U想法由来已久,在最q一D|间里q个x(chng)被激发,D我写q篇文章Q我认ؓ(f)体验l济臛_应该在下面四个方面对软g界有所帮助Q?/P> <P><FONT color=#ff0000><STRONG>1Q近似帮助的D?/STRONG></FONT><BR>如果你还没有下蝲Eclipse 3.1Q那么你q(sh)能真真了(jin)解我的意思。看看Eclipse的Million Downloads Challenge吧,3.1版正式版推出的第一天全球下载量接q?0万䆾Q这l不是宣传的效果Q而是全世界的软g开发h员和x(chng)软g界成长的Z共同的精支柱?.1版在易用性上又有大幅度的提高Q随处可见的Html风格的说明信息,从一个对话框到另一个对话框的“超链接”,首选项的搜索与qo(h)Q首选项的编辑导航(前进、后退{)(j)QFastView可以变成内嵌FrameQQ意输入框里的工具条,L输入框里的感叹号、问号和红叉,{等{等Q无一不在3.0版已l很“花里胡梢”的界面上再“锦上添花”。ƈ且,知道内情的h都知道,q些对用L(fng)球生极大刺Ȁ的小技量,对于Eclipse来说是多么的轻而易举。这么说吧,q些东西攑֜你的应用E序里面叫做“特性”,攑֜Eclipse里面叫做“对Ҏ(gu)的应用”?/P> <P><FONT color=#ffa500><STRONG>2QY件ؓ(f)什么不能用ȝ?BR></STRONG></FONT>既然标准控g可以拖到H体里变成代码,Z么用户不能用W画一些代码出来呢Q我x(chng)来的软g应该?x)以某种“更自由”的方式向用h供体验。比如,用户可以M个圆作ؓ(f)输入框;用户可以M条线来表C状态条Q用户可以画一个图标或写一个单词,再和一个程序定义好的Action建立链接Q用户可以画一个小人提供导航;用户可以规定什么样的状态用什么样的符可C;用户q可以规定在哪里可以昄固定的及(qing)时帮助,什么时候可以显CQ动的?qing)时帮助Q最后,用户被要求画一个区域(可能是不规则的多边ŞQ来把刚才画的那些东西装q入Q这个区域就是我们所说的H体Q想惛_多播攑֙都支持不规则的图形作为skinQ?/P> <P><FONT color=#008000><STRONG>3Q同旉Ҏ(gu)手和熟练工h?/STRONG><BR></FONT>关于气(chng)式的?qing)时帮助Q业界有很多的争议,q些争议大都来自不同领域的不同需求。比如一个面向客L(fng)财务pȝQ开发者可能希望随旉地都能让使用者知道下一步该怎么办(或者这一步该怎么办)(j)Q可是一个面向企业内部的财务pȝQ投资商则更愿意p许培训费用来该系l的使用者更加熟l,q些费用可能?x)比在Y件中加入大量的帮助更为经,更重要的是,去除q些气(chng)往往?x)提高?sh)用者的效率Q给企业带来更多的好处。所以体验经要求我们的软g理念能在两种模式之间自由切换Q甚臛_能会(x)同时体现在同一个系l上Q比如某个在U游戏,新手希望能随旉地得到提C,而老玩家则希望在某个选项上x(chng)q些提示——以速度取胜?/P> <P><FONT color=#800080><STRONG>4Q功能微调和界面微调?/STRONG></FONT><BR>多数软g已经开始向Extendable转变?sh)(jin),数_英已经开始向PluginableQ这是我自己造的词,被画上红U别怪我Q呵呵)(j)转变?sh)(jin)。有囑Ş处理和媒体制作YӞ如Photoshop、Fireworks、FlashQ有开发工具IDEQ如Eclipse、SharpDevelopQ有览器如FirefoxQ有工具如我正在用的EmEditor{等Q在SourceForge的排行榜W一名上待了(jin)很久不愿下来的Azureus - Java BitTorrent Client也是Pluginable的。更有o(h)人惊奇的Q有一个叫Java Plugin Framework(JPF)的项目可以ؓ(f)所有Java软g增加Pluginable的能力,q个目吸收?jin)Eclipse的思想Q但是比Eclipse的插件^台更通用Q更h展性,也更严格。至于界面上的微调,Eclipse也ؓ(f)我们作出?jin)榜P它可以允许成千上万个View和Editorq存在同一个窗体里Qƈ提供?jin)最大化、最化、FastView、内部Frame{多U展现Ş式,Q意思是说它们不?x)太挤?j)Q甚臛_以在界面上搜索和qo(h)q些partsQ这样做的主要目的是用户工作中能遇到的交互事g划分成更l小的颗_。我认ؓ(f)未来的Y件能让用户在更小的颗_度上调整UIQ比如某个用户会(x)在用软g时自a自语Q“这个的Label我不喜欢Q我要变成IconQ那里有个Table太繁琐了(jin)Q换个饼囄看;哦,对了(jin)Q这里有个讨厌的文字框,样儿,我早q你不爽了(jin)Q干掉,直接写进log吧!?/P> <P>在本文的最后我q要告诉大家的是Q虽然很多Y件用XPl尾来标U自己是“用户体验版”,比如Windows xp和Office xpQ但是我仍然认ؓ(f)体验l济的时代要求未能很好的表现在当前的L应用中,无论是操作系l、办公Y件、在U应用,或者ERPQ但是我们已l可以在一些游戏、及(qing)时消息Y件或大师作品中看C点希望。重复本文开头时的论点,我相信体验经在软g的时代即到来,如果(zhn)手上正在做的Y件没有考虑q一点,那么q是误(g)虑一下吧Q我们都不希望在q次潮中国产Y件再ơ落后,如果要我l出一个理由来支撑我的观点Q那我只惌——这是经学的规律?BR><BR>Q{载本文需注明出处QBrian Sun @ 爬树(wi)的(chng)泡[http://m.tkk7.com/briansun]Q?BR></P><img src ="http://m.tkk7.com/briansun/aggbug/8095.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/briansun/" target="_blank">Brian Sun</a> 2005-07-21 10:38 <a href="http://m.tkk7.com/briansun/archive/2005/07/21/8095.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>NXUnit 中文说明http://m.tkk7.com/briansun/archive/2005/07/20/8028.htmlBrian SunBrian SunWed, 20 Jul 2005 02:09:00 GMThttp://m.tkk7.com/briansun/archive/2005/07/20/8028.htmlhttp://m.tkk7.com/briansun/comments/8028.htmlhttp://m.tkk7.com/briansun/archive/2005/07/20/8028.html#Feedback5http://m.tkk7.com/briansun/comments/commentRss/8028.htmlhttp://m.tkk7.com/briansun/services/trackbacks/8028.htmlNXUnit是一个基?NET Framework的具有NUnit风格的XML单元试框架。它是对NUnit的一个扩展,使你可以单的在XML应用E序中加入断aQ你可以集中精 力在你的XML应用E序中的业务逻辑Q你提升测试驱动开?TDD)的技巧,使你可以直接比较两个XML字符串或,或者断a它们相等Q就像? xUnit断言两个整数是否相等一L(fng)单。如果没有NXUnitQ你必L注意力集中在XML字符串中的空根{空节点、空属性、节点序、属性序、注释等 {。在某些斚wQNXUnit有些像XmlUnit?br>
NXUnit的当前版本是2005q?月的NXUnit 1.0rc1Q下面是该版本的8个特性,q些Ҏ(gu)你都可以在XMLAssertcM扑ֈ相应的方法:(x)
1。断a两个XML输入是否相等?br> 2。比较两个XML输入q找出它们的不同炏V?br> 3。断a两个XML输入的XML定义是否相等?br> 4。断a两个XML输入的文类型是否相{?br> 5。断a一个XML输入是否有效?br> 6。断a一个XPath表达式在一个XML输入上执行返回的值是否是期望倹{?br> 7。断a一个XPath表达式在一个XML输入上是否存在?br> 8。断a一个XML输入是否包含另一个XML输入?br>
q且Q你可以改变?sh)个XMLAssert实例的属性来配置一个断a或比较,目的在于Q?br> 1。忽略节点和属性名UC的大写?br> 2。忽略XML注释?br> 3。忽略XML定义或文类型?br> 4。忽略空的节Ҏ(gu)属性?br> 5。忽略节点和属性的序?br> 6。忽略不重要的空白?br>


Brian Sun 2005-07-20 10:09 发表评论
]]>
BlogJava的开源YӞ(x)NXUnithttp://m.tkk7.com/briansun/archive/2005/07/15/7765.htmlBrian SunBrian SunFri, 15 Jul 2005 05:22:00 GMThttp://m.tkk7.com/briansun/archive/2005/07/15/7765.htmlhttp://m.tkk7.com/briansun/comments/7765.htmlhttp://m.tkk7.com/briansun/archive/2005/07/15/7765.html#Feedback2http://m.tkk7.com/briansun/comments/commentRss/7765.htmlhttp://m.tkk7.com/briansun/services/trackbacks/7765.htmlWhat is NXUnit?

NXUnit is a NUnit -style unit testing framework about XML for .NET Framework. It is an extension to NUnit. It brings you the ability to do unit testing easily in XML applications. It helps you to concentrate on business logic of your XML application and improve your Test Driven Development(TDD) technics. You can directly compare one XML string or stream with another, er assert that they are equal, just like doing the same thing to two integers using xUnit. But without NXUnit, you must pay attention to whitespaces in XML strings, empty elements or attributes, unimportant order of elements or attributes, unneccessary comments and so on. It's similar with XmlUnit in some aspects.

Features

The current version is NXUnit 1.0rc1, July 2005. The following is the 8 features of this version, which you can find in the facade class XMLAssert:

    * Assert that two XML inputs are equal.
    * Compare two XML inputs and find all differences between them.
    * Assert that declarations of two XML inputs are equal.
    * Assert that document types of two XML inputs are equal.
    * Assert the validity of an XML input.
    * Assert that the evaluation of an XPath expression on an XML input will return the expected value.
    * Assert that an XPath expression exists for an XML input.
    * Assert that an XML input is included by another.

And you can change the properties of an instance of XMLAssert before an assertion or comparition, in order to:

    * Ignore the case of the elements' and attributes' names
    * Ignore XML comments
    * Ignore XML declarations and document types of both inputs
    * Ignore empty elements and attributes
    * Ignore orders of elements and attributes
    * Ignore unimportant whitespaces

Sample

 1    using System;
 2    using System.IO;
 3    using System.Xml;
 4    using NUnit.Framework;
 5    using NXUnit.Framework;
 6
 7
 8    [TestFixture]
 9    public class Sample
10    {
11        private XMLAssert xa;
12
13        [SetUp]
14        public void Init()
15        {
16            xa = XMLAssert.CreateInstance();
17        }

18
19        [Test]
20        public void TestMethod()
21        {
22            // Init the xml input
23            string s1 = "";
24            string s2 = "";
25
26            // Init the options for your purpose
27            xa.IsOrderSensitive = false;
28
29            // Assert two XML inputs are equal
30            xa.AreEqual(s1, s2, "Assertion Failed!");
31
32            // Compare two XML inputs and find all differences between them
33            CompareResult r = xa.Compare(s1, s2);
34            foreach (Diff d in r)
35            {
36                Console.WriteLine(d);
37            }

38            CompareResult another = xa.Compare(s1, s2);
39            r.Add(another);
40            for (int i = 0; i < r.Count; i++)
41            {
42                Console.WriteLine(r[i]);
43            }

44            if (r.AreEqual)
45            {
46                // They are equal
47            }

48
49            // Assert two XML declaration of the two XML inputs are equal
50            xa.AreDeclareEqual(s1, s2, "Declarations are not equal");
51
52            // Assert two document types of the two XML inputs are equal
53            xa.AreDocTypeEqual(s1, s2, "DocTypes are not equal");
54
55            // Assert the validity of an XML input
56            XMLAssert.IsValid("");
57            XMLAssert.IsValidFile(@"C:\");
58
59            // Assert the evaluation of an XPath expression on an XML input will 
60            // return the expected value
61            xa.AreXpathEqual("<a/>""/r/a[2]", s1, 
62                "The xpath expression doesn't return <a/>");
63
64            // Assert an XPath expression is exist for an XML input
65            XMLAssert.XpathExist("//@b='c'", s1, 
66                "The xml document doesn't have the xpath expression");
67
68            // Assert an XML input is included by another one
69            xa.IsIncluded(s1, s2, "The {0} is not included in {1}", s1, s2);
70
71            // The Counter
72            Assert.AreEqual(6, xa.Counter);
73
74            // XMLInput can use in all the samples above
75            xa.AreEqual(XMLInput.CreateFromString(s1), 
76                XMLInput.CreateFromString(s2), "Assertion Failed!");
77        }

78    }


Brian Sun 2005-07-15 13:22 发表评论
]]>
大公司的困惑http://m.tkk7.com/briansun/archive/2005/04/21/3564.htmlBrian SunBrian SunThu, 21 Apr 2005 02:23:00 GMThttp://m.tkk7.com/briansun/archive/2005/04/21/3564.htmlhttp://m.tkk7.com/briansun/comments/3564.htmlhttp://m.tkk7.com/briansun/archive/2005/04/21/3564.html#Feedback9http://m.tkk7.com/briansun/comments/commentRss/3564.htmlhttp://m.tkk7.com/briansun/services/trackbacks/3564.html在写完了(jin)前面那篇??6日评点IBM”之后的某个早晨Q我和领导共q早,׃我们吃饭的地方其实是Ҏ(gu)的餐厅,所以席间略谈了(jin)几句Ҏ(gu)。这? 我猛然发玎ͼҎ(gu)原来也是一个技术型很专一的企业,q几q逐渐变得q_?jin),即没有像经不v风霜的小企业一样完蛋,也不能否认这么多qv立不倒多也有吃 老本的嫌疑,但是Q究竟是什么ɘq样一个显赫一时直至今日仍然在自己的领域是龙头老大的企业失dq励_֛ȝ成就呢?

我想{案可能与那 文章中提到的IBM面(f)的情늱|当P(yng)C革命到来的时候,作ؓ(f)一个以计算机技术(整体中的大部分)(j)Z要研I对象的龙头老大Q岂能眼睁睁看到q样一? 风水宝地被后生抢赎ͼ岂能眼睁睁看着交手多年的竞争对手大把大把捞银子Q岂能眼睁睁看着国内外企盼PC技术给人类带来巨大变革的一双双渴望的眼睛,即ɘq? U变革像雑փ雨又像风Q来得快也去得快Q?br>
其实仔细x(chng)q样一个大公司的困惑吧。一个像IBM、方正、HP、Intelq样的企业,在PC 诞生之前Q他们就已经名声显赫Q有万诏家Q可是他们越是d高望重,面(f)的困惑也p大。究竟是应时代变革、勇攀新的高峰Q还是Q凭风吚w打、我自岿? 不动Q究竟是抢占先机、舍我其谁,q是尝辄止、随风应变!在尝到甜头的时候,I竟是见好就收、预防否极泰来,q是孤注一掗争取利润最大化。在遇到困难 和暂时性的挫|ӞI竟是浪子回头金不换Q还是去留肝胆两昆仑Q(不好意思,话说大了(jin)Q。很的时候度q一本留博士写的书Q书的大概内Ҏ(gu)讲IT发展史的Q但是由于作者是DBA?gu)nQ是MBA的升U版Q不是数据库理?img src="http://m.tkk7.com/Emoticons/QQ/13.gif" border="0" height="20" width="20">Q,所以商业思考多于技术见解。这本书中很多部分就是以q样的两N题开始的Q这在管理学中是非常可怕的战略选择Q它_以决定一个企业的生死Q例子嘛QIT界有的是?br>

x(chng)刚刚提到的IBMQ在q样的PC大潮中不能见好就Ӟ致偏离?jin)自q轨道Q方正,没有有限的资源投入到原来那分很有前途的职业中去Q当 诸多外敌q入?jng)场时不能很好的守住阵地QHPQQ凭PC部门摊薄优质资的利润率。反q来_(d)IBMQ成长和发展的途中没有丢弃自己计算机技术霸ȝ? 位;Ҏ(gu)Q依然是闪亮的明星;HPQ尽付Z(jin)沉重的代Pȝq戴上了(jin)自己梦寐以求的王冠;Ҏ(gu)Q在试?jin)诸多\U之后才发现岿然不动才是属于自己的致 胜之道?br>
q些毕竟都是有得有失之h。有完全p|的吗Q有Q王安,在不能应对突如其来的开放架构的战(sh)中全军覆没;NovellQ在不能应对H如其来的互联网大潮中几乎夭折;宏基Q风采不见已l多q?br>
有完全成功的吗?当然也有QIntelQ由于把握了(jin)合适的时机Q已l时常拿Mr.IncredibleQ超?img src="http://m.tkk7.com/Emoticons/QQ/17.gif" border="0" height="20" width="20">Q和自己比较?jin);MicrosoftQ得益于IBM的培LZhcd史的章?br>
有浅辄止的成功者吗Q有~。想想GE吧,当P(yng)C的时代即到来时Q华?dng)街无一例外的认为GE寻觅时机和IBM正面交锋Q结果是人家玩的很潇z,不知道是不是某个未公布的战略矩阵计的l果?br>
退 一步讲Q这也许是一个大企业应该承担的责任,大的企业应该面临越隄抉择、应对越大的风险、抵御越大的诱惑、同时n受越多的利润。但也应该注意的是, 战略选择在这L(fng)环境下对大企业有更多的意义,所以大企业更应该重视战略问题,从自w的特点和行业的Ҏ(gu)出发,把握MҎ(gu)代脉搏的真实未来的预a。但? q些对国内的企业是个借鉴?br>
提供有限咨询的(chng)?br>



Brian Sun 2005-04-21 10:23 发表评论
]]>
4?6日评点IBMhttp://m.tkk7.com/briansun/archive/2005/04/16/3336.htmlBrian SunBrian SunSat, 16 Apr 2005 00:09:00 GMThttp://m.tkk7.com/briansun/archive/2005/04/16/3336.htmlhttp://m.tkk7.com/briansun/comments/3336.htmlhttp://m.tkk7.com/briansun/archive/2005/04/16/3336.html#Feedback22http://m.tkk7.com/briansun/comments/commentRss/3336.htmlhttp://m.tkk7.com/briansun/services/trackbacks/3336.html
事情要从扬州说vQ昨日在博客园领导dudu的解说下游览?jin)扬州著名的两个景点Q瘦西湖和大明寺Q还品尝?jin)暴多扬州美呛_吃,Q全劳dudu破费Q再ơ感 谢)(j)Q既非常疲惫Q又ƣ喜万分。席间我们谈到IBMQ我又大发神l,把我对IBM的很多认识统l说?jin)一遍,情A十分Ȁ动,虽严重媄(jing)响了(jin)周围客h的食Ԍ? 滋生?jin)评点IBM的欲望,于是赶回南京Q写?jin)这,正在q膳的朋友免看。^_^

1。IBM的开始?/font>
IBM的年龄比目前世界上大多数大,它的早期辉煌?gu)两代Thomas Watson夫子之手。老Thomas Watson~造了(jin)IBMQƈ使得IBM的基调始l停留在商用机器的领域,当时是没有电(sh)子计机的,所以IBM的主要品是打孔机和计时器,但此时的 IBM已经是名利双Ӟ它的名来自它为当时全国性的一ơh口普查提供了(jin)全部讑֤Q它的利则来自二战时不得不生产的军火工业。小Thomas Watson和他爸爸有同L(fng)名字Q只是中间名字不同,崇拜技术要多于崇拜老爸Q他l常Z(jin)一点点的技术方面的问题同老爸争的不可开交。比如曾l有一? q轻人拿着一个旅行箱大小的设备来见他们父子,q台机器只会(x)做基本的加法和减法,昄他的目的是找IBM要投资,q个人演CZ(jin)q台机器Q老Watson? 现这台机器算的还?sh)如一个熟l用中国算盘的姑娘,立即觉得q个东西没有Q而小Watson却觉得既然它可以加法以后一定可以算乘法Q于是很x(chng)资? 父子两ؓ(f)?jin)这件事整整吵?jin)一夜,W二天h们发C们在戉K抱头痛哭。这个例子只是ؓ(f)?jin)说明父子两?gu)术的重视E度Q事实上Q当Watson接手IBM? 他也没有再投资那个年MhQ但是这个时候他Ҏ(gu)个计机工业的投资已l启动了(jin)?br>
Watson和他老爸一样重视技术,记得他曾单独嘱咐q两位科学家Q“一定要把System/360搞好Q”这两个人当中资历比较小的那个叫做Fred BrooksQ他׃自己的体pȝ构是正确的,而老前辈却认ؓ(f)他自q体系l构是正的Q于是那D|子,W(xu)atson总裁几乎天天和他们(chng)在一P他好? 一个辩的教l,們֐L多于发表意见Q他让Brooks说他的体pȝ构有哪些优点Q然后让前辈说这个结构哪里不对头Q又让前辈说自己的体pȝ构,再让 Brooks说哪里不对头。就q样反复来回几十遍,问题M(x)走到两个人都满意的位|上厅R最后只剩一个问题解决不?jin)的时候,三个人同时发现这是真正的争 议所在,q时Watson拍板说让前辈全权负责,有最l决定权Q然后前辈也没有辜负老ȝ一片期望,选择q培M(jin)BrooksQƈ最l让Brooks? 当了(jin)System/360的主设计师?br>
那是一个怎样的年代,老d以和两代技术专家坐在一赯Z个系l的实现l节。而且q还是IBM的老总,q是一个现在想都不要想的场景,而这一切印证了(jin) Time对IBM的一句评语:(x)“IBM生于崇尚技术的q代Q”事实上QBrooks在System/360成功很多q以后才入选IBM FellowQ名士)(j)Q说明IBM的科研h才之多,可谓富可敌国?br>
2。IBM的衰落?/font>
q样话般的日子持箋(hu)?jin)几十年Q历l了(jin)两代老ȝ旉。但是对于生来就是贵族的Watson而言Q工作ƈ不是他的全部Q所以他很早p掉了(jin)在IBM的全 部职务,回家q安闲的晚年。在他执政IBM的最后一D|子了(jin)Q个人电(sh)脑业兴v?jin),Steve Jobs的一夜暴富让很多人红?jin)眼QHP和IBM都在其中Q这两大?sh)子工业的巨头在口水快要?gu)自己的同旉冲向?jin)这个广阔的天地。IBM的PC——个? ?sh)脑——其创意也是直接?gu)Watson之手Q但他万万没有想到的是,q个发明改变?sh)(jin)整个世界的面貌Q?br>
在此之后的几十年QIBM同HP同一些兴L(fng)公怸起争夺PC业的怸C。像所以其它的事物一Pq既是IBM鼎盛时期的开始,也是必将衰落的标志, 原因很简单——它背离?jin)自q灵魂。在与这些公司竞争的q程中,IBM渐渐力不从心(j)Q这D|间的历史被蝲入了(jin)很多大学MBA的案例教材中Q简单数数就?x)? 道,作ؓ(f)PC发明者的IBM很少能在q个领域呼风唤雨Q成本是Dell的,新技术是Compaq的,家用?sh)脑是HP的,时尚是Apple的,同时它还免不 ?jin)要看看Sony和Fujistu的脸艌Ӏؓ(f)什么当q能在技术界U王U霸的IBM?x)和q些以制造业为基的企业处在同L(fng)竞争集团呢?q个问题的本w就? {案。一个企业当他在自己的发明上?zhun)够了(jin)钱之后Q他面临做_ցl的问题Q有些公司能处理的好Q比如AdobeQ有些不能,比如AppleQ这不是能力? 题,q就是生z,他L多姿多彩的,玩的L(fng)Z天堂Q输的v的h走四方!

不是谁发明了(jin)什么就一定能把它做好的!可惜l大部分技术出w的Z能想通这个问题,即想通了(jin)Q轮到自׃(jin)也不?x)去做,q需要多大的勇气啊,让技术h员去 选择技术根本就不是一个稳重的大公怼(x)做出的决定,可惜直到90q代IBM才意识到q一点,此时的IBM已是内忧外?zhn)Q四面楚歌,q个时期的最后一? CEO曾计划将IBM拆成13个子公司Q彼此业务比较独立,Q幸好没有让他得逞,否则人类失ȝ正宝늚财富Q,自n的危机和整个行业的不景气已经让他 成ؓ(f)一头“瘦ȝ骆驼”,而接下来的三个字也特别需要一位具有独Ҏ(gu)维方式的CEO才能l写?br>
3。IBM的复苏?/font>
IBM求贤若(f)Q董事会(x)雇䄦的猎头公司几乎跑遍了(jin)每一家IT企业Q去挖他们的CEOQ其中最富有戏剧性的Q就是猎头公司居然找qGE的JackQ? Apple的Jobs和Microsoft的Bill GatesQ韦?dng)奇认?f)IBM需要认真考虑自己的业务,不该做的׃要做Q至于IBMI竟哪些是不该做的,韦尔奇认为IBM在很多领域已l不占优势,最? 的办法就是IBM开拓新的领域,不仅可以卖电(sh)脑,q可以卖其它?sh)器。Jobs认ؓ(f)IBM应该和Apple合ƈ成一个公司,专心(j)致志研究如何生个h?sh)脑? Gates则认为IBM应该老老实实生产大型机Q不要干预低端业务和个h领域。董事会(x)在一ơ又一ơ的?x)议中几乎失M(jin)他们所有的耐心(j)和信?j),q些疯狂的h 是不能引入IBM的,可如果没有一个能力和z察力的双料冠军QIBM׃得不面对拆分的境地。还好,猎头公司没有让h们失望,他们为IBM扑ֈ?jin)一个再一 ơ被收入LMBA案例教材的借口——一个不懂技术的人可以入主计机技术的发源地吗Q——而他Q就是Louis Gestner?br>
Gestner坚决反对拆分IBMQ他认ؓ(f)IBM最重要的一件事是调整姿态,把自己摆在一个正的位置上。他问每一个员工:(x)“IBM是一个怎样的企 业?”员工回{:(x)“IBM是一个科技企业。”STOPQ不要再说“IBM是一个科技企业?jin)!”IBM哪里有一个科技企业的样子。Gestner_(d)(x) “IBM是一个服务型企业Q”他率先带领理层代表团讉K?jin)很多大客户Q比如P&GQ此举o(h)P&G受宠若惊。他q泛采纳客户的意见,他经 常动辄邀(g)?00个大客户参加一个会(x)议,为的是惌知道客户需要什么。技术圈里的ZL固执的认为,卖一件具有高U技含量的商品才是挣(zhun)q道理Q? Gestner却要告诉Z“挣(zhun)钱没有道理”,要想发展U技Q就要养zM扚wU技人才Q要惛_z这些全球顶的人才p钱,大量的钱Q而这些钱只能靠卖? 务来?zhun)。在Gestner执政的时间里QIBM发生?jin)历史上最大规模的变革Q且是两代Watson父子想都不会(x)惛_的?br>
IBM从此变成?jin)一家以客户为核?j)的价值整合型企业。在g斚wQGestner坚信不能要的是不要。他首先卖出?jin)IBM的大型机部门Q可是IBM发明 ?jin)大型机QGestner说“不是谁发明?jin)什么就一定能把它做好的!”不久,他又卖出?jin)IBM盘?sh)业部,可是IBM发明?jin)硬盘!Gestner又说“不 是谁发明?jin)什么就一定能把它做好的!”如今,IBM又卖?jin)他的PC部门Q可是IBM发明?jin)PCQGestner虽然已经怓QQ他也丝毫不回避q笔他一手创 造的买卖Q“不是谁发明?jin)什么就一定能把它做好的!?br>
在Y件方面,当Gestner把玩IBM的数据库ӞZ的惯性思维认ؓ(f)Gestner也要把数据库部门l卖?jin),因?f)是IBM发明?jin)数据库Q可是大人物? 事往往Zh意料QGestner不但没有卖掉数据库部门,反而大规模q加投资Q让IBMzև史上最强大的研发力量把数据库包装成他的W一个Y件品? DB2。此后Gestner(zhn)心(j)听取客户的意见,客户说需要具有协作能力的OfficeQIBM强行收购LotusQ客戯需要加强网l管理,IBM? C?jin)TivoliQ客戯需要中间gQIBM又包装了(jin)所有此cȝ产品为WebsphereQ即使在Gestner临卸M前,他还谈妥?jin)IBM收购 Rational的事宜,x(chng)QIBM已经从一家做g的厂商,转变?sh)拥有五大Y件品牌的新蓝色巨人?br>
Gestnerl于可以说一句“瘦ȝ骆驼比马大”了(jin)Q虽然IBM已经不再是从前的IBM可是Gestner让他重新扑֛?jin)自信,好比一个失d芒的普? 矛_Q在Gestner的手上变成了(jin)另一UŞ式的艺术品,再次散发Z(jin)qh的魅力。这些岂能是韦尔奇、Jobs和Gates能想到的Q这是一个非技术h 员成为IBM的CEO之后的事。此后,很多大公司纷Uh仿,HPh?jin)漂亮?jin)x(chng)裁Q微软换?jin)富有亲和力的鲍(dng)曼Q都企图昄?gu)己重视客L(fng)一面,改善 其与大客户之间的关系。然而Gestnerl没有他们想象的那么单,在让IBM转型Z个服务企业的同时QGestner又重新重视vIBM的科研力 量,失去的军方订单又回来?jin)!IBM在恢复了(jin)商业巨头的Ş象之后又恢复?jin)他的科技巨h形象Q很多在抢夺PC业霸d位时停滞的项目又重新焕发Z(jin)生机Q这 些都是其他CEO没有惛_的,他们面对的又是一个双料型的IBMQ他们不得不再次朝圣以维持对计算机前沿技术的q随QGestner没有让IBM偏离?jin)? 道,而是让他重新回到?jin)大Thomas父子领导IBM的那个年代,让他重新拥有?jin)崇科技的氛_(d)让他重新回归?jin)自我,癑ֹIBMQ百q回归!

4。IBM的神话?/font>
Gestner几乎让IBM上演?jin)一出“The Return Of The King”,q在其它公司眼里仿佛(jng)是一U潜U默化的变革Q而在Gestner眼里却是一U长期战略部|和l节性技术态度的有效结合。在g的领域, Gestner要说的只有一句话Q做不好׃做,没什么大不了(jin)Q他认ؓ(f)官僚q不是IBM的致命弱点,相反Q官僚有官僚的好处,那就是稳定,可信赖。想? 吧,一个像微Y一L(fng)公司Q对于以往的技术说不干׃q了(jin)Q大客户怎么攑ֿ(j)的下Q一个像HP一L(fng)企业QL因ؓ(f)分脏不均p走自q总裁Q大客户怎么? ?j)的下。Gestner认ؓ(f)IBM最大的问题?sh)是他的官僚Q而是他不能轻便的革新。在他入主IBMӞSundScott McNearly曾讥WIBM要变成International Biscuit MakerQ因为Gestner以前是雷诺的接班人候选,后者拥有全最大的饼干生企业NabiscoQ,Gestner没有让IBMȝ产饼qԌ但他 却把IBM变得像一个饼q生产商一L(fng)zR没有什么是IBM一定要做的Q没有什么是IBM一定能做的好的Q没有什么是IBM能做好却又不做的Q概括成一? 话就是“谁说大象不能蟩舞”!

在Y件的世界QGestner仍然W信q句׃自己创造的名言。他从不回答“哪些技术是IBM要做的,哪些是IBM不要做的”这L(fng)问题Q他L?x)说“我 不是个搞技术的Q这个问题我不懂”,可他却有独特的眼光和思维方式。对于Q何一个Y件技术,他L带着IBM分四步缓慢进入:(x)
1。观望。这时的IBM?x)说“我不做Q但不排除我以后不做”?br> 2。研I。你?x)在IBM的alphaworks上看到很多关于该技术的文章Q此时的IBM在向Z传达的讯息是“我不做Q但是如果我的客户做Q我奉陪Q?br> 3。浅辄止。你?x)发现alphaworks上出C(jin)该技术的专栏QIBM相当一部分应用q移C(jin)该技术,可是q又怎么PIBM在说“我做,不过随便做做。?br> 4。全力出凅R到?jin)这个阶D,你会(x)发现IBMl其它该领域的竞争对手以H息的打击,IBM像是在说“现在轮到我?jin),你们都不要做了(jin)!”正如Gestner在自 q书里写的一P“问题(sh)在于大象能不能蟩舞,而在于一旦大象开始蟩舞,蚂蚁必须d舞台Q”一旦IBM开始动手,其他人才反应q来已经为时已晚?br>
如果你不信,可以看看Java的例子,?995qJava诞生在Sun手里的时候,IBM持的态度是观望;1997qwww蓬勃兴vQ大量Java应 用程序被应用在Web领域QIBM也做?jin)很多,q做?jin)JDKQ此时是研究Q到?999q_(d)Java企业版开始红U火火,大规模大利润的应用服务器出? 面,IBMl于看到?jin)切入的时机QW(xu)ebsphere的出台让IBM“随便玩玩”;直到Z看到?jin)以Eclipse命名的品在2001q出台时Qh们才 真正意识到IBM的野?j),“一旦大象开始蟩舞,蚂蚁必须d舞台Q”再看看Linux的例子吧Q当IBM对Linux的支持如日中天成为LinuxC֛一 道亮丽风景的时候,当Linux的崇拜者们仰视IBMQ等待IBM抛出一个主Linux产品的时候,IBM却浅辄止,只要他的大部分品都可以qx(chng)q? 渡到Linux可以了(jin)Q“我随便做做Q你们玩吧”?br>
有时我们也在惻I如果Gestner不是Gestner呢,如果他是一个懂技术的Gestner他还能不能做C天的q种战略思维呢,我们不得而知Q历史也不允许假设,但有一点可以肯定,只有创造奇q的人和见过奇迹的hQ才?x)相信奇q的存在?br>
谁说泡(chng)不能跌



Brian Sun 2005-04-16 08:09 发表评论
]]>
高重构Ҏ(gu)的连?/title><link>http://m.tkk7.com/briansun/archive/2005/04/13/3205.html</link><dc:creator>Brian Sun</dc:creator><author>Brian Sun</author><pubDate>Wed, 13 Apr 2005 02:54:00 GMT</pubDate><guid>http://m.tkk7.com/briansun/archive/2005/04/13/3205.html</guid><wfw:comment>http://m.tkk7.com/briansun/comments/3205.html</wfw:comment><comments>http://m.tkk7.com/briansun/archive/2005/04/13/3205.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.tkk7.com/briansun/comments/commentRss/3205.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/briansun/services/trackbacks/3205.html</trackback:ping><description><![CDATA[又是很久没有写Blog?jin),q两天大量的旉贡献l了(jin)两g事,一是看Eclipse的源代码Q工作需要)(j)Q二是不断回复以前写的文章的评论。今天请?jin)假Q? 抽了(jin)Ҏ(gu)间来讨论讨论重构。下面写的东西?zhn)可能不太赞同Q可能没有遇刎ͼ也可能有其它更好的办法,而我的观Ҏ(gu)自于我对Eclipse源代码的理解和感 (zhn),无论(zhn)有什么想法请评论告诉我,不甚感谢?br> <br> 1。如果让(zhn)随手写一个类Q多半h?x)写Z个以名词命名的类Q是的,我们的Y件中大量的类是以名词来命名的。一个名词表明了(jin)一l对象的共同cdQ那么这个类型一定包括该l对象的共同属性和共同Ҏ(gu)?br> <br> 2。在几次q代之后我们发现cȝ属性和Ҏ(gu)都增多v来,q种_放型的发展不利于Y件系l的整体l构。而事实上Q有很多cd80Q的旉只需用到20Q的属性代码,?0Q的旉却需要用?0Q的Ҏ(gu)代码Q因此,访问率不同的属性和Ҏ(gu)分开是必然的势。于是有?font style="font-family: courier new; color: rgb(255, 0, 0); font-weight: bold;" size="3">Descriptor模式</font>Q它?yu)一个原始类分成属性集中化和方法集中化的两个类Q属性类的命名方式采用原cd+Descriptor的方式,Ҏ(gu)cd能沿用原名称Q或重新取个名字以动词命名。这U重构还有一个好处就是属性类随时可以加蝲Q而方法类可能要到需要用时才懒加载?br> <br> 3。在l过多次q代的增加该cȝ代码之后Q我们发现Descriptorcȝ属性增多v来,q多的属性代码变得重量化,同时使结构变得不清晰Q一个拥? q多属性的cM?x)因知识q多而不易维护,此时最好的Ҏ(gu)是将q个cd裂ؓ(f)两个Q或多个。分裂的Ҏ(gu)也有横向和纵向两U。横向的分裂使类变成两个不同的类Q? 它们往往叫两个不同的名字且都为名词,同时也可能互相持有对?font style="font-weight: bold; font-family: courier new; color: rgb(255, 165, 0);" size="3">QChange Unidirectional Association to Bidirectional</font><font style="font-weight: bold; font-family: courier new; color: rgb(255, 165, 0);" size="3">Q?/font>?br> <br> 4。纵向的分裂Ҏ(gu)<font style="font-weight: bold; color: rgb(165, 42, 42);" size="3"><span style="font-family: courier new;">QExtract ClassQ?/span></font>往 往?x)将比较公共的部分分d名ؓ(f)原类?ModelQ另一个类名称不变QModelcL后者的父类。加qModel以后的类ȝ?jin)很多,更便于管理,责Q 也更轅R至于哪些属性应该放在父cȝ限不是很严格Q通俗的办法是和原cd紧密相关的(Ҏ(gu)的)(j)属性应该留在原处,不是紧密相关的(Ҏ(gu)的)(j)攑֜Model c,比如ID、Label什么的应该放在ModelcR?br> <br> 5。上面的Ҏ(gu)反复用几ơ,属性集中的cd?x)变得越来越多。这时Y件结构虽然看的很清晰Q可是用v来大Z便,因ؓ(f)很多相关的属性可能会(x)在同一个场合下使用Q而它们的实体却可能分布在不同的对象中。解册个问题的Ҏ(gu)只有增加接口的数?font style="font-family: courier new; font-weight: bold; color: rgb(0, 128, 0);" size="3">QExtract InterfaceQ?/font>Q多使用一些小接口Q每个小接口表达?jin)一个方面的含义Q用者在使用q些接口时无法触及(qing)它的实体对象<font style="font-family: courier new; font-weight: bold; color: rgb(238, 130, 238);" size="3">QPrototypeQ?/font>Q? q种Ҏ(gu)的优劣性在于用者对于架构的理解Q如果用的好q种Ҏ(gu)?x)显现出很多面向斚w的特性,如果用的不好则是画蛇添Q导致了(jin)接口的泛滥(q记得Dll Hell吗,Java是不是正在Ş成一个Interface HellQEclipse是不是正在Ş成一个Plugin HellQ)(j)?br> <br> 6。在大量应用?jin)方面接口之后,我们又面临着q样的问题,很多使用q些Model的h其实只是兛_(j)其中的一部分固定属性,和几个ؓ(f)C多的固定Ҏ(gu)Q有时连重量U方法都不关?j),只关心(j)用以交互的查找型getҎ(gu)Q对于这些用者,我们只需提供一个门?font style="font-weight: bold; color: rgb(128, 0, 128);" size="3"><span style="font-family: courier new;">QF(tun)acadeQ?/span></font>? 可。一个Facade包括在一个ModelcdDescriptorcȝ体中提供一l可以找CQ何一个属性的U烦(ch)Q其中的每一个线索都开始于 FacadeQ结束于存放对应属性的属性类Q且遵@“最常用到的属性,其线索最短”的原则。因而Facadel不仅仅是一个类Q而是一个完整的体系l构?br> <br> 7。接下来q有一个持久化的问题。如果一个类型存在对一个复杂类型的引用Q这个复杂类型很可能被深q隐藏在Facade之后Q而且很可能是个不可持久化 的类型,那么如果前者要持久化,它只能保存(sh)个该复杂cd的关键码Qƈ在持久化唤醒时很Ҏ(gu)通过某个服务取到该关键码所对应的对象。这个复杂过E没理由? 求Facade以外的类来完成,因此有了(jin)<font style="font-weight: bold; color: rgb(0, 0, 255);" size="3"><span style="font-family: courier new;">Reference模式QChange Value To ReferenceQ?/span></font>Q即为那个复杂类型定义一个类Q类名ؓ(f)原类?ReferenceQ其责Q是保存原cd的关键码和查扑֎cd的真实对象。Referencec通常定义为可持久化。该模式的另一个好处是不必要常常访问FacadeQ因Z个Facade也有可能极其复杂?br> <br> 8。在分析完属性集中化的类和类之间的关系之后Q我们来看看Ҏ(gu)集中化的cR这个类也有可能面(f)Ҏ(gu)Ȁ增的问题Q此时想把一个类拆分成多个可没有拆分? 性集中化的类那么Ҏ(gu)?jin),因?f)它们往往怺调用Q耦合度极高,但又不能不拆Q还记得Kent Beck曄说过的吗Q“如果一个类的责任超q三个,我们必L它拆开以保证每个类的责任都不超q三个”)(j)Q幸好我们有<font style="font-family: courier new; font-weight: bold; color: rgb(0, 100, 0);" size="3">Delegate模式</font>? 供选择Q一个方法类可以由它的访问子和工作子两个角色来完成,像销售部门和生部门一栗访问子q(sh)原类名来命名Q但是它不做实际的工作,只作实际工作 的准备工作(比如攉信息Q和后箋(hu)工作Q比如{换结果)(j)Q生产性的工作交给工作子完成,后者通常以原cd+Delegate命名。这样做的另一个好处就? Delegatecd能很重磅Qƈ面(f)大量的资源分配,因而可以懒加蝲?br> <br> 9。现在我们有?jin)一个不错的体系l构Q它包括一些轻量的类、类的关pd设计模式Q但是,不要以ؓ(f)q些东西是开始时p计好?jin)的Q即使神仙也做不到那P令h惊奇的是Q它们都是从刚刚(zhn)写的一个名词开始的。^_^<br> <br> l常重构的(chng)?br> <br> <img src ="http://m.tkk7.com/briansun/aggbug/3205.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/briansun/" target="_blank">Brian Sun</a> 2005-04-13 10:54 <a href="http://m.tkk7.com/briansun/archive/2005/04/13/3205.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我ؓ(f)Firefox正名http://m.tkk7.com/briansun/archive/2005/04/08/3015.htmlBrian SunBrian SunFri, 08 Apr 2005 15:53:00 GMThttp://m.tkk7.com/briansun/archive/2005/04/08/3015.htmlhttp://m.tkk7.com/briansun/comments/3015.htmlhttp://m.tkk7.com/briansun/archive/2005/04/08/3015.html#Feedback24http://m.tkk7.com/briansun/comments/commentRss/3015.htmlhttp://m.tkk7.com/briansun/services/trackbacks/3015.html
首先Q我们从Firefox的来出看QFirefox是由Mozilla基金?x)开发的ȝ览器,在此之前QMozilla已经有很多浏览器?jin)?Mozilla SuiteQNetscape都是Mozilla开发的览器。那么在q种情况下MozillaZ么还要做q样一个浏览器呢?我给出的{案包括两个部分Q有效性和必然性。有效性参看我的另一Blog[]。必然性则是因为Mozilla q切需要一个^台来展示他的思想、理念,q告诫正在以|页为经营手D늚Z标准化的重要性!hq记住下面这个等式:(x)

开源Y件基金会(x) Q?软g界的传道?/STRONG>

他们做这些事情根本就是无利可图,只能依靠别h的捐助作为开发Y件的成本。比如Firefox在刚刚上?jng)放出beta的时候,Z(jin)扩大影响力, Mozilla军_M则广告,于是四处{w资金Q最l从数千家赞助商那里{w?5万美元的资金Qƈ?004q?2月中旬在The New York Times上打?jin)两个全版广告!你想惛_Q数千家软g企业的期望,׃ؓ(f)?jin)这两个面的广告如果说句不好听的话q两늺?x)被多少人在上厕所的时候阅ȝ后烦(ch)性用来擦屁股完全可以通过q告业的?jng)调公司通过概率出来!q是Z(jin)什么?我记得自己刚刚上|的时候就有h告诉我网l上什么h都有Q但臛_可以分ؓ(f)四种Q商人、教父、狂热者和q途青q。微软是d底底的第一UhQMozilla、Eclipse、Apache、JCP都是W二U,Maxthon是第三种Q幸好这个世界还有传道者们的存在,否则我们都会(x)变成W四UhQ只?x)跟着商h和狂热者们走\?BR>
是的QMozilla正是要通过Firefox教诲我们他的圣经。有些h认ؓ(f)Firefox是一个用Gecko的MaxthonQ我惌q些人大错特错,Ҏ(gu)没有理解Firefox。引擎的不同是小事,遵从于标准才是正道。MSIE使用?jin)大量的“专有技术”,使得别h针对MSIE开发的|站在标准化Q一般指W3C标准Q的览器上不能正常昄。也许有Z(x)问,q个很重要吗Q既然现在MSIE的用h量如此庞大,那我们针对MSIE开发自q|站又有什么错呢?{案是很重要Q有错!我D个简单的例子Q我们比较一下两个互为竞争对手的|站QIBM和DellQ他们都卖个人电(sh)脑,Dell的网站只能在 MSIE上正常显C,IBM的网站无论哪个浏览器都可以,q说明IBM遵@的是行业标准Q而Dell使用的是微YҎ(gu)。然后我们再看看他们两家公司的品:(x)IBM的电(sh)脑,捆绑什么操作系l的都有Q而Dell的个人电(sh)脑,全部捆绑的是Microsoft WindowsQ还用我再解释吗Q?BR>
有h认ؓ(f)Firefox占用太大内存?sh)(jin),我想问问他有没有用过JavaQ感受如何?Firefox占内存(sh)是Firefox的问题,而恰恰在于操作系l?Windows的不合理性。Firefox的存在就有一个很重要的Q务那是跨^収ͼFirefox要用底层代码实现一个^台无x(chng)体pȝ构,既是Z(jin)传道Q更是ؓ(f)?jin)那些从开源Y件中收益的h们。有为Firefoxl构太复杂,我想问问他有看过xpi文g的结构吗Qxpi文g是一个zip包!q一点又是Firefox从Java世界学来的,q还能叫复杂吗?比dll文gq复杂吗QFirefoxq有比Java更绝的——允许插件用COMQƈ且能在非Windowsq_上虚拟出一个COM服务Q这使得为Firefox~写插g变得更ؓ(f)单,和可UL。如果Google为MSIE写了(jin)一个插Ӟ那么他把q个插gUL到Firefox上的工作量只?0Q?BR>
有h认ؓ(f)Firefox功能太少Q天哪,你不知道自己下插件啊QFirefox从一开始就没有把Maxthon作ؓ(f)自己的竞争对手,你知道是Z么吗Q因为Maxthon在增强用户体验方面确实做的很好,而“Maxthon不的地方不是Maxthon本n的问题,仅仅来源与它使用的是IE内核Q所?Maxthon?x)有很多安全性和E_性方面的问题”。Firefox的对手是MSIEQؓ(f)?jin)更好的和对手较量,Firefox把增强用户体验的工作也交l了(jin)W三Ҏ(gu)件开发商Q毕竟Mozilla没有多少人手啊。Firefox所实现的都是不得不实现的,q恰是现代成熟的软g开发方法论所要教诲我们的。你看看Q多늭是能力问题,换皮肤是架构问题Q搜索条是易用性问题,DOM是规范化问题QJavaScript和XUL描述界面是^台无x(chng)问题,XPCOM 是^滑迁U问题,而RSS则又是另外一个标准问题!哪一Ҏ(gu)q可以从Firefox中剥dȝQ?BR>
至于插g吗,Firefox的主说的很好,他说Firefox面世后只用了(jin)两个月的旉p得了(jin)Maxthon׃q时间都没有的插件数量,q还?sh)能说明问题吗?最q拜M(jin)一位ACM老牛人写的关于插件服务的文章Q其中提到良好的插g服务有两c,一c适用于单用户环境下大q度提升可׾~性,q种架构的完实现就是EclipseQ另一c适用于多用户环境下大q度提升安全性、稳定性和一致性,q种架构的完实现就是Firefox。Firefox率先使用 RDF来描q插Ӟ使用jar文g来打包资源描qͼ使用“中间定义语a”IDL来描q公qCOM接口Q这些都是其它Y件体pȝ构所没有的,也是大量软g架构师敢惌不敢做的!

最后一个问题就是Firefox不仅仅是个浏览器Q还是一个RIAQ就像Eclipse不仅是个IDEQ还是个Platform一栗可以参考我的另一?Blog[]Q我今天怎么老是做广告啊Q,以后我还打算写更多关于RIA的文章?BR>
在批驳了(jin)q些人的文章之后Q让我们再来看看FirefoxI竟是个怎样的品。下面我仅仅列出我所看到的Firefox的优点,至于q些优点是否?x)让?zhn)迁UdFirefoxq_Q我q不奢求Q这是?zhn)的h(hun)值取舍问题?BR>
1。标准化?/SPAN>

2。简z化Q最内核化?/SPAN>

3。^台无x(chng)?/SPAN>

4。安全型RIA?/SPAN>

5。多用户环境下的插g理?/SPAN>

。。。。年MhQ开在我们有~的份上Q我军_卖这?lt;<如来掌>>l你。。。什么?q本不合适啊Q别急!q有很多本。。。。。?BR>

说三道四的(chng)?BR>



Brian Sun 2005-04-08 23:53 发表评论
]]>
h臭味的代?/title><link>http://m.tkk7.com/briansun/archive/2005/04/08/2972.html</link><dc:creator>Brian Sun</dc:creator><author>Brian Sun</author><pubDate>Thu, 07 Apr 2005 18:57:00 GMT</pubDate><guid>http://m.tkk7.com/briansun/archive/2005/04/08/2972.html</guid><wfw:comment>http://m.tkk7.com/briansun/comments/2972.html</wfw:comment><comments>http://m.tkk7.com/briansun/archive/2005/04/08/2972.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://m.tkk7.com/briansun/comments/commentRss/2972.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/briansun/services/trackbacks/2972.html</trackback:ping><description><![CDATA[下面介绍几种h坏味道的代码l构Q其中很多经验学?fn)自EclipseQ与Martin Fowler不同的是Q我扑ֈ的几U坏味道都存在于设计理念之中Q而不是缺乏设计模式的抽象Q也不是未重构的代码。先别急着反驳Q也别急着嗤之以EQ先? 惌些设计理늚优点Q看看是不是微不道Q再看看q些理念的缺点,是不是有可能铸成大错Q作者还l出?jin)去掉这些坏味道的某个思\Q即作者自q思\Q仅 供参考。最后,别忘?sh)(jin)想惌己手中的软g的设计,看看?x)不会(x)遇到其中的熟面孔啊。。。。?br> <br> <span style="color: rgb(255, 0, 0); font-weight: bold;">1。味道:(x)控g耦合?/span><br> “如果第一个复选框被选中Q那么下面的文本域全部失效。”通过q种方式表述的效果在软g开发中l常遇到Q很多hUC为“界面逻辑”,x(chng)看,界面逻辑真的可以直接变成代码吗?<br> <span style="font-weight: bold; color: rgb(154, 205, 50);">典型重构思\Q有限状态机?/span><br> 状态与控g属性集一一对应Q控件属性被改变Ӟ状态机收到事gQ检查状态是否发生了(jin)q移Q如果是则向控g属性集的控制器发出状态迁UMӞ控制器批量改变控件状态?br> <br> <span style="color: rgb(255, 0, 0); font-weight: bold;">2。味道:(x)控g/l制器存在状态?/span><br> 有h认ؓ(f)Motif和W(xu)indows已经差别很大?jin),有没有想q它们和IBM攉Z的字W界面差别有多大呢?既然差别q么大的l制器仍然存在相同的复杂?jin)(有时是很复杂的?j)状态,那我们ؓ(f)什么不把它们extract出来而要让它们冗余呢Q?br> <span style="color: rgb(154, 205, 50); font-weight: bold;">典型重构思\Q视囄模型?/span><br> 视图有视囄模型Qƈ不是MVC中的模型Q这U方式就是Swing的基?br> <br> <span style="color: rgb(255, 0, 0); font-weight: bold;">3。味道:(x)视图发出有意义的事g?/span><br> 什么?你的意思是视图应该发出无意义的事g咯?不是q样吗?视图应该不了(jin)解Q何业务逻辑Q也不应该了(jin)解Q何界面逻辑Q如果界面逻辑真的存在的话?br> <span style="font-weight: bold; color: rgb(154, 205, 50);">典型重构思\Q事件翻译器?/span><br> 视图发出无意义的事gQ比如鼠标事Ӟ键盘?sh)gQ或某个控g的事Ӟ事g译器把低事g译为高U事Ӟ再把高事g包装成请求,h被传递给一个根控制器?br> <br> <span style="color: rgb(255, 0, 0); font-weight: bold;">4。味道:(x)动作/命o(h)知道自己的Ş象?/span><br> 很多时候,一个Action或者一个Command都知道自己叫什么名字,能不能被用Q有没有被禁用,图标如何Q甚臌知道?qing)时帮助的字W串Q执行需要什么条Ӟq回什么结果等{,如果q么做的话Action和Command有?jin)自q视图状态,发出?jin)?U味道?br> <span style="font-weight: bold; color: rgb(154, 205, 50);">典型重构思\Q动作代理?/span><br> 重磅的工作交l代理完成,动作/命o(h)只是一个视囄模型|了(jin)。在UIpȝ装蝲之初Q动?命o(h)被装载ƈl制在界面上Q直到用L(fng)?yn)L触发?jin)这个动?命o(h)Q它的代理才被调入ƈ开始工作?br> <br> <span style="color: rgb(255, 0, 0); font-weight: bold;">5。味道:(x)模型知道自己的每一个用处?/span><br> 有nU视囑֯应同一个模型,比如对一个网制作工h_(d)一个html文g臛_有三U视图:(x)代码、设计、预览。如果模型同时能满q三U视囄需求的话,q个模型太重磅?jin),而且q(sh)好添加一U新视图。比如Dreamwaver的代?设计面?br> <span style="font-weight: bold; color: rgb(154, 205, 50);">典型重构思\1Q一个模型,多个l度?/span><br> 如果一个模型拥有n个维度,则n个对象,可以确定一个事实,n-1个对象就可以得到一个线性聚集,n-2个对象就可以得到一个二l表。每个维度就是一lInterface,而事实的cdQ其实是不可见的Q(内部的巨大类型)(j)Q只能通过l度定事实Q再提取事实的属性?br> 典型重构思\2Q适配器模式?br> 模型首先实现最必要的接口,然后当需要模型实现某个非必要接口Ӟ模型?x)主动或被动的适配Z个满需求接口的“意外”对象?br> <br> <span style="color: rgb(255, 0, 0); font-weight: bold;">6。味道:(x)控制器变成顾问类?/span><br> 有些为我们的C会(x)需要复合型的h才,因ؓ(f)每个人都要具备管理的能力Q控制器也要懂管理,它要负责视图和模型之间的交互。但是仔l想惻I如果被模型以外的对象知道?jin)业务逻辑的话Q那模型q可以替换吗Q?br> <span style="font-weight: bold; color: rgb(154, 205, 50);">典型重构思\Q控制器标准化?/span><br> 控制器将h包装为命令,q将命o(h)交给命o(h)堆栈执行。控制器q不?jin)解模型Q模型只能由模型自己?jin)解Q控制器也不知道领域逻辑Q它只是做一些机械的译工作Qƈ利用视图和模型提供的Q互补相养I(j)的素材,创徏和模型相关的命o(h)?br> <br style="color: rgb(255, 0, 0); font-weight: bold;"> <span style="color: rgb(255, 0, 0); font-weight: bold;">7。味道:(x)模型变成无所不知博士?/span><br> 在没有发生上面六U情늚时候,千万不要大意啊,你很有可能发生了(jin)q一U情况,恰恰是因为控制器和视N不知道业务逻辑Q模型才有可能发展ؓ(f)Dr.Know。但是视囑־往是树(wi)状结构的啊,它怎么和Dr.Know合作呢?通过代理Q还是FacadeQ?br> <span style="color: rgb(154, 205, 50); font-weight: bold;">典型重构思\Q复杂模型结构(?wi)状、图状、知?操作分离Q?/span><br> 如果有可能,模型也是?wi)状的,可以和视图一一对应Q如果这一点做不到Q不要紧Q可以把大模型划分成轻量板块,或者P代子Q再用关pd象解释它们之间的关系Q如果还?sh)行Q那d做到知识和操作分d。。。。。。?br> <br> 做Y件的泡(chng)<br> <br> <br> <br> <img src ="http://m.tkk7.com/briansun/aggbug/2972.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/briansun/" target="_blank">Brian Sun</a> 2005-04-08 02:57 <a href="http://m.tkk7.com/briansun/archive/2005/04/08/2972.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>4?日评点Googlehttp://m.tkk7.com/briansun/archive/2005/04/04/2808.htmlBrian SunBrian SunSun, 03 Apr 2005 16:04:00 GMThttp://m.tkk7.com/briansun/archive/2005/04/04/2808.htmlhttp://m.tkk7.com/briansun/comments/2808.htmlhttp://m.tkk7.com/briansun/archive/2005/04/04/2808.html#Feedback33http://m.tkk7.com/briansun/comments/commentRss/2808.htmlhttp://m.tkk7.com/briansun/services/trackbacks/2808.html
在我们谈论它之前首先我要感谢它,愚h节那天Google我的邮升U到?GQ感谢它l我的这个节日礼物,管我半q内只用?M?BR>
1。Google以前做什?/FONT>
在Google出现之前Z只有一U搜索引擎,那就是分cd擎,q个x(chng)来源于YahooQ或者可以说来源于图书馆。后来h们在惛_果网不是由“hcZ?d上去的,而是“机器”自己找到的那该有多好,实现q个理想意呌用大量的Spider搜寻整个互联|?SPAN style="COLOR: rgb(0,100,0)">“嘿Q等{,机器怎么知道鸡肉的味道?我是说它们很可能搞错?jin),q有可能是三文鱼的味道!?/SPAN>像<<黑客帝国>>所担心(j)的一PSpider怎么才能知道我们需要什么能Q于是有?jin)动态的l每个网评分的办法Q这个办法就像小朋友们做游戏Q别人对你的评h(hun)要远q重要于他们对你的拜访,PageRank是q么来的Q在l合?jin)几U天才的x(chng)和可行的技术细节之后,人类智慧的结Ӟ人工的当代经典,Google诞生?jin)?BR>
Google用大量的服务器(C万计Q做着每日的网|找,每个U程是一个SpiderQ每个Spider的工作就是从一个网去另一个网,(g)查他们是否已更新Q是否废弃,是否存在新创建的面Q评价他们之间的关系Q生成快照,q将数据存入数据库。Spider需要很好的协调以避免重复的力_Q同时他们需要确定工作范围的优先U,否则׃(x)“跟不上时代的变化”或者干脆d某些每秒U更新数千次的网中。在定?jin)两张网늚关系之后QGoogle分别更新他们的PageRank得分Q这个得分显然已l不是一个公式能够说清楚的了(jin)Q它L处在动态更C中,但PageRank的大意就是,别h对你的连接数量越高(sh)p有h(hun)|Googlep让你的位|靠前?BR>
Google的出C互联|的应用向前大大q出?jin)一步,大量可用性很强的信息资源立即出现在它的需求者面前。ؓ(f)此,权威的PC MagazineGoogle和同一q出现的<<The Sims>>同时UCؓ(f)人工的经怽品。但也正是Google的这U优U表现使h们开始了(jin)先知式的担忧Q著名评论家Dvorak认ؓ(f) Google的存在改变(sh)(jin)以往“小公司大喇叭”的商业格局Q借用?jin)Chuck Martin的说法)(j)Q它再次使互联网变成怿的经q资本市(jng)场洗C的温顺l늾Qh们真正需要的东西可能?x)被排在后面或者根本找不到Q比如我的BlogQ?IMG height=19 src="http://m.tkk7.com/Emoticons/teeth_smile.gif" width=19 border=0>Q,而商业化的东西往往占据重要的位|(比如MSN的BlogQ?IMG height=19 src="http://m.tkk7.com/Emoticons/cry_smile.gif" width=19 border=0>Q,最ȝ(ch)的是一旦h们依赖了(jin)GoogleQ它?yu)׃?x)不自然的扼杀Z寚w过其它途径扑֯信息的兴和勇气。从个h感情角度来讲Q我认ؓ(f)q个是很有道理的Q可q个问题的提出方式已l超Z(jin)本文讨论的范_(d)像是一个生zL度问题Q即佉K当劳再提?00倍的温馨服务Q它也无法击败我家楼下买锅脓(chung)的;也不能指望USR公司自己l护NS-5机器人的安全Qvq些都只能靠别h。同P假如Google真的谋杀?jin)互联网的本质,那么我相信拯救我们星球的会(x)是一个更体现互联|本质的HeroQ而不是Google自己?BR>
2。Google后来做了(jin)什?/FONT>
正如我们所期望的,Googleq速成长ؓ(f)互联|企业的新兴代表Q不断优化的引擎使我们获得了(jin)快速获取免费信息的途径Q在一片叫好声中,Google开始向其它|络产品扩展。比?A >Google新闻Q就是对Googleq个巨大资源库的一U非l构化应用。现在Google新闻不仅有了(jin)搜烦(ch)能力Q还有了(jin)自动选择能力Q这是在公开的抢报纸~辑的饭。再比如Google囑փ搜烦(ch)Q也为我们解决了(jin)不少难解决的问题Q还?A >Google GroupQ这些服务Google看v来更像YahooQ或者MSNq样的门L(fng)站,而事实上Google用来实现q些功能的成本比其竞争者要的多,原因很简单,他们用的是hQGoogle用的是SpiderQGoogle像互联|领域里的MatrixQ随处可见?BR>
在提供了(jin)q些|络产品的同ӞGoogleq在客户端与竞争者们一决高?sh),首先是浏览器的工hGoogle ToolbarQv初我觉得很有用,后来觉得没什么用占地方还损失性能Q但是现在看到Firefox和Googlel合的这么好Q又开始用了(jin)。然后Google推出?jin)用于推q它自己的极好工Pq就是著名的Google APIQ在付出许费用之后Q你可以在自己的程序里使用Google?jin)(通常是JavaQ,我曾l还?sh)度想做一个Flash版的Google呢。此外还有用于处理“科学难题”的|格计算Q?A >Google ComputeQ模仿捐献家用计能力以分析外星人电(sh)波的SETI@homeQ后者由Stanford提供?BR>
Froogle也是一个伟大的设想Q虽然它q没有中文版Q但我已l领略到?jin)它的能力。它提供一个商品的搜烦(ch)引擎Q让你可以在需要时览商品的h(hun)目和囄。这使得Froogle有时看v来很?A >ebayQ况且Froogleq有它的WAP版,也就是移动版?A >Google Local又是一个有价值的作品Q它使得Google可以作ؓ(f)旅游指南或者地图用。即使是Google的web搜烦(ch)也有?jin)很多衍生用法,比如瞧天气啦Q找手机归属地啦Q当计算器用啦,当词典用啦,反向搜烦(ch)啦什么的?BR>
3。Google现在做什?/SPAN>
在客L(fng)的竞争中Googleq没有占C么优势,MSN反而成?jin)受益者,你想啊,搞Y件设计谁能搞得过“买块肉SOFT”,Netscape?Apple、IBM都尝试过Q也不怕Google多尝试一ơ。但是Google却在q种内忧外?zhn)的情况下上?jin)?jng),而且?jng)场反映一片叫好!Z(jin)推陈出新Q保持股L(fng)攀升,Google采用?jin)上市(jng)公司最喜欢华尔街最ƣ赏股民们最Ҏ(gu)被欺骗的手法——虚伪扩张!一斚wQGoogle大量投资研究操作pȝ、数据库和应用服务器q些|络商最赖以生存的技术;另一斚w则投入大W资金扩展业务领域,q种手段的优Ҏ(gu)可以转嫁主营业务的成本和风险Q做出更漂亮的胦(ch)务报表,~点是片面注重表面上的资源优化,往往错过攚w技术和商业{略的最x(chng)机?BR>
在Google陷入L新的扩展点而不能自拔时Q一个新Chcȝ话题摆在?jin)Google前进的道路上Q这h是BloggerQ他们要玩的是Blog。说时迟Q那时快Q只见乌云密布,雷鸣?sh)闪Q咔喳一声晴天霹電IGoogle站在Blogger.com面前Q笑里藏刀的说Q“天下英雄,唯君与操尔Q”在收购?jin)Blogger之后QGoogle基本攑ּ?jin)它建?A >blog.google.com的计划?BR>
2004q愚Q对于网l邮׃应商来说直就是一个鬼节,q一天Google推出?jin)它?A >Gmail服务BETA?/A>Q它采用?jin)非常具有神U色彩ƈ借助六度分隔?50法则而更h秘色彩的邀(g)请发放方式。最令h头疼的是它提?G的空间和压羃邮gQ压~意味着物理I间1GQ而很多邮件供应商公布的空间是压羃之前的占用空_(d)(j)?005q的愚h节,Google更“?j)病狂”(开玩笑Q的这个数字增加到2GQ跟q还是卖出?Q这是其它邮׃应商必须面对的一个抉择!

GDSQGoogle Desktop SearchQ?/A>是Google的另一个重炸弹,q个是用来对付微软的。是的,你没听错Q当微Y在它下一版WindowsQ长角)(j)的计划中露出新版文g搜烦(ch)引擎的设x(chng)QGoogle已经把成型的产品送到?jin)客户面前。但是在试用?jin)几ơ之后我有点U闷Qؓ(f)什么这个备受好评的GDS在我的机器上跟Lucene 一样难用(对不起一ơ骂?jin)两?IMG height=19 src="http://m.tkk7.com/Emoticons/rose.gif" width=19 border=0>Q,它几乎搜不到什么有价值的文g——难道因为我用的是英文版Q抑或是我没有掌握用技巧?

4。Google遇到?jin)什么困?/SPAN>
多少q来一个问题(sh)直困扰着我,“一个以高科技著称于世的企业不?x)不在正面战Z胜过一个商业成熟的企业呢?”几乎每个受到工业革命和文艺复兴影响的h都会(x)怿q句话。可恰恰是这句话D?jin)很多企业的p|。Googleq未在正面击败YahooQ相反,在与Yahoo的竞争中Google已经渐渐昑և劣势的一面,q是׃“机器不能理解鸡肉的味道”的~故吗?我们不得而知Q但是有一点可以肯定,?j)巴别塔停止徏造的原因也在困扰着GoogleQ简单的说就是全球化和本地化。在中文搜烦(ch)引擎?jng)场上,体中文的W一是百度,其次是YahooQ繁体中文的W一是YahooQ其ơ是GoogleQ日文版?jng)场排名W一的还是YahooQ第二名是MSNQ俄文搜索引擎的老大也是俄罗斯的本地化引擎。面对这个局面,Google只能说OMGQ(OhQMy GodQ)(j)。下面这D|字摘?lt;<Google中文的三大Y?gt;>Q?BR>
……据iResearchQ艾瑞市(jng)场咨询)(j)研究报告分析Q百度仅?q时_(d)q远领先于GoogleQ百度拥有目前世界上最大的中文信息库,比Google中文更准,更全面,快照功能也占优势…?BR>……雅虎一直很重视本地化,收购3721则是最好的一例。在国内?jng)场上?721的本地化购物搜烦(ch)非常好,再上本地化的商业搜烦(ch)Q更L(fng)争优ѝ从某种意义上来_(d)3721|络实名的目录,是一个典型的中国本地化企业品的目录。所以说Q拥?721之后Q雅虎如虎添|对Google构成?jin)更大威胁…?BR>……在中文语言处理能力上,本地搜烦(ch)公司的优势更让Google隑֠。比如,《功夫》公映之前很久,在百度上(g)索“功夫”就能直接指向周星驰的电(sh)影,可是 Google搜烦(ch)相同的“功夫”,则大失所望。因些时令性的关键词都需要专业团队去随时dQ由于Google~Z专门针对中国?jng)场的开发力量,其是对中国互联|信息检索存在的问题?sh)(jin)解不透,所以,Google对于国内?jng)场需求的反应速度很慢Q本地化技术服务力量也跟不上,无法解决国内|民遇到的一些实际问题…?BR>
Google的新L索也引来很大的争议,我们都知道如果一家媒体要摘录别h的新Mq新闻Q那么他必须付费Q可是如果这条新L搜烦(ch)引擎搜出来的怎么办?如果q条新闻是和它的提供商几乎同时登出又怎么办?Google当然不会(x)Z搜出来的每条新闻付费Q而且Q就像前面说的那PDvorakq样的同志又要大骂Google?jin),因?f)它扼杀?jin)消费者冲的乐趣和获取别人没能及(qing)时获取的信息的喜(zhn)感Q以?qing)Google的意志代替了(jin)互联|的意志{等?BR>
5。Google以后?x)做什?/SPAN>
目前q(sh)知道Google下一步想做什么,但是我们都知道了(jin)资本的魔力和技术的信Ԓ在控制着它,q它成ZhcL史以来最有想象力的公怹一?BR>
我们猜想Google不久׃(x)开攑֮的Gmail供h们随意申P但申h仍需要提供一个唯一的其它邮q帐号Q(像非Logitech的老鼠标加钱换新罗技Q随意一ƾ老洗衣机加钱换新荣事达一P(j)Q现在Gmail的策略是每个用户可以邀(g)?0个新用户参加Q此外每20人次的Google Web Search使用׃(x)攑և一个新的邀(g)诗?BR>
Picasa也将是Google发展的重头戏之一。前者是一个图片文件客L(fng)Q看h好像很简单,肯定没有ACDSee做的好,但是在图片共享方?Google可是从来没有攑ּq啊。现在,Picasa又和Gmaill合C(jin)一P每个Gmail用户都可以用Picasa图片上传到GmailQ这功能大大加Z(jin)Picasa囄׃n的能力?BR>
此外Qh工智能和大型计算技术也是Google发展的重要方向。不久之前Google发布?jin)它的企业搜索服务器Q虽然引来一路臭骂,但还是有一些专家认是个利好消息Q说明Google正在别的盈利点上发觉自己的h(hun)倹{概念已l有?jin),天h(hun)只是技术之不成熟性然。这一势不仅可以从Google的品上看出来,从Google的挖人策略也一样可见一斑。前不久QGoogle正式宣布它挖C(jin)Java世界一只下金蛋的鹅——Joshua BlochQ这个hl常在我的梦中出玎ͼ要卖一?lt;<如来掌>>l我Q?IMG height=19 src="http://m.tkk7.com/Emoticons/confused_smile.gif" width=19 border=0> 对不P记错?jin),是一?lt;< Effective Java>>。说说J.Bloch的历Ԍ可能很多人都?x)感到惊讶不巌Ӏ他首先创造了(jin)曑֜危难时期令整个Java世界恢复自信的Collection FrameworkQƈ获得?jin)当q的Jolt大奖Q后来ؓ(f)?jin)让更多的JavaE序员(sh)Collection Framework的设计模式中收益Q当时设计模式还?sh)是很流行?j)Q他又以此ؓ(f)题写?lt;<Effective Java>>Qƈ再次获得?jin)Jolt大奖Qؓ(f)?jin)在Java世界引入元模型的力Q他l而提Z(jin)JSR175(A Metadata Facility for the JavaTM Programming Language)Qƈ成ؓ(f)光席专Ӟ在Sun最危难的时Lw而出接掌TigerQJDK 5.0Q的大旗Q在q之后,关于他的唯一新闻是被Google挖走?jin)。此外,Googleq高薪挖C(jin)无数把名字倒过来写我们都能认识的科学家Q?CSDNq样报道Q?BR>
……接着QGoogle又把BEA的首席架构师Adam Bosworth拢入自己旗下。Bosworth在Y件行业作为技术主受到广泛的敬。在为新创企业CrossgainQ?001q被BEA收购Q工作之前,Bosworth曑֜微Y任职数年Qƈ成功C事于一些项目的开发,如微软的Access数据库?BR>他的x(chng)来得太突然了(jin)Q两个月以前Q他q在供应商的“年度eWorldU”中担Q重要角色Qƈ他的主题演讲中介lAlchemy目----一个徏立下一代移动浏览器的计划?BR>Google的招兵买马计划一直在有条不紊的进行着Q曾在SUN微系l工作的David StoutamireQ现在在Google工作。就在上星期QNeal Gafter,SUN公司的javacȝQ也dSUN转向Google?BR>不仅是Java斚wQGreg SteinQ曾是CollabNet目l理,理Subversion 目q且发布?jin)他们的SourceCast产品Q现在在Google的博客Y件组工作QRob PikeQ曾是贝?dng)实验室最初Unix团队成员?sh)一,参与qPlan 9 和Inferno操作pȝ的开发,如今也投奔Google?BR>Google一直(f)求h才,对于开发者来_(d)Google也是一个充满吸引力的地斏V他只雇佣最的、最聪明的、近乎于天才的那些家伙,在笼lh才这斚wQ也只有微Y可与之媲。最qJava人才不断涌入GoogleI竟是y合,或是Google准备试ZJava做一些事情,我们拭目以待…?BR>
如果我没记错的话QGoogle前不久还?sh)微软挖C(jin)一位可以UCؓ(f)WindowsNT之父的hQGoogle之野?j)\人皆知。看看下面这则招聘启事也怽׃(x)更了(jin)解这一点了(jin)Q?BR>
Passionate about these topics? You should work at Google.
?algorithms
?artificial intelligence
?compiler optimization
?computer architecture
?computer graphics
  ?data compression
?data mining
?file system design
?genetic algorithms
?information retrieval
  ?machine learning
?natural language processing
?operating systems
?profiling
?robotics
  ?text processing
?user interface design
?web information retrieval
?and more!
Send your resume and a brief cover letter to great-engineers@google.com.


6。Google应该做什?/SPAN>
q一节我们将抛弃所有商业的x(chng)Q认认真真的坐下来考虑一下技术问题,当然Q这?x)得我们对Google的要求过高,我们?x)把很多未能被实现的我们曄的梦想都交给未来的GoogleQ就像我们把Sun没有做到的强加给IBMQ把IBM没有做到的强加给微YQ把微Y没有做到的强加给NetscapeQ把Netscapge没有做到的强加给Yahoo一栗?BR>
首先QGoogle应该认真考虑考虑语义|?/A>的问题(sh)(jin)Q我个h仍然认ؓ(f)q是互联|发展的正道?/STRONG>虽然RDF标准的发展雷声大雨点,可是现在RSS已经如火如荼Q这q只是语义网技术的一部分,Q就像WAP没什么用Q但短信却发展v来一P(j)QXSL和XSLT也是语义|的一部分,它们作义网与其展现之间的接口。我Z么要提语义网q个东西呢?举个例子你就能明白,比如我的Blog每篇文章每一上都有菜单Q都有最新评论、阅L行榜和自定义列表Q这些加速了(jin)讉K者的效率Q是富有亲和力的展现形式Q但是对于Google来说q些都是垃圾Q因为它们错误的表达?jin)网늚含义Q如果我要搜一阅ȝ极高的文章,可能搜出一堆没用的东西Q而这些东西又不可能从面上拿掉,所以Google必须自己去认?BR>
反向快照可能是解册个问题的临时Ҏ(gu)。它的主要思想是Google首先发现别h是如何“描q”该|页的(通过链接的文字表达)(j)Q再在该|页中找Cq个 “描q”相关的内容Q把q部分内容作|页的高?sh)先U内容,再把该网与相同目录下的其它文g比较Q将相同的部分列Z优先U的内容。(q是我个人想出来的方法,不知道可否奏效,估计可能?x)遇到性能问题Q?BR>
其次QGoogle面临语义搜索的问题?/STRONG>q是MSN正在开发的技术,我相信Google也一定在做。这Ҏ(gu)术的目的是让使用者同计算Z间的交互变得更h性化Q看h好像是用户像计算机提Z(jin)一个问题,计算机利用Googleq颗大脑扑ֈ{案然后告知。哈哈,q个镜头是不是有点眼熟,它多ơ在好莱坞的?sh)?jing)中出玎ͼ比如<<AI>>中的Dr.KnowQ无所不知博士Q和<<旉机器>>中的图书馆管理员Q他们都是语义Google的愿景和Use Case。其中最有趣的是Dr.KnowQ他首先让用户选择cdQ然后提问,问题按个数记费,{案往往只给Z个——当然是人工觉得最W合问题的一个。这提示?jin)我们带cd的语义识别可能将成ؓ(f)语义识别技术迈出的W一步。再看看Google英文版目前提供的收费服务Google Answer~~~有Ҏ(gu)思吧Q?BR>
W三是模式学?fn)?/STRONG>不客气的ԌGoogle一直在以自qx(chng)在搜索。不是吗QGoogle把Spider扑ֈ的所有页面都认ؓ(f)是资源,所以对其涵盖的内容一视同仁,对其表达的Ş式漠不关?j),而正的方式应该是将面和搜索用户都看成用户Q把面人性化Q从面中吸取hcL维的模式,q行模式学习(fn)。这U技术给Google带来的好处是巨大的,其实现技术也单于语义理解。打个比方,对于Sina被盛大收购,很多新闻|站都作Z题加以报道,而对于Google来说Q要{很久才能把新浪和盛大这两个单词联系hQ这中间的时间包括其它由人来更新的网站的更新时滞Q其它网站对q些|站的连接的更新时滞Q这些更新被Spider发现的时滞,发现后PageRank更新到合理数|中间可能l过多次q代Q的时滞{等。这使得Google明显慢于人的反映速度Q这也就直接的造成?jin)上面所提到?lt;<功夫>>不能?qing)时搜到的原因。靠人工实现本地化,q是一条\?BR>
W四是信息源的深层发掘?/STRONG>q得Google能触?qing)互联网的死角,像z_尽量触?qing)物的死角一PQ“有汰渍Q没污渍?IMG height=20 src="http://m.tkk7.com/Emoticons/hitwall.gif" width=25 border=0>Q,例子很简单,如果我在|页中加入一DJavascriptQ就可以很容易把|页引到另一个地址Q而这个地址很有可能是Google没有涉及(qing)到的Q浏览器却可以访问?BR>
W五是不得不提到的|格计算?/STRONG>因ؓ(f)Google的客h自世界各圎ͼ一个日本h拜访Google和一个印W安人拜访Google?9.99Q的概率上是不会(x)讉K相同内容的,因此这两个人所要访问的内容攑֜一起实在是一U性能上的损失。最q听说Yahoo已经中文搜索服务器q到国内Q这正是Z(jin)性能考虑的啊。当?dng)分布式服务器已经可以做到q一点了(jin)Q那Z么还要网格呢Q解释这个问题首先要从解释BT的原理开始,BT之所以让Z下蝲的那么快是因ؓ(f)BT让Downloader成ؓ(f)其它Downloader的服务器Q这UP2P的方式充分利用了(jin)Downloader的机器的计算能力和上行带宽。Google也可以做到这一点,例如我、我的邻居、李彦宏Q百度总裁Q?!--StartFragment -->和杨志远QYahoo创始Z一Q四人同时搜索了(jin)同一个关键字Q假定服务器在中国,李R宏首先获得了(jin)响应面Q我再访问时QGoogle通知我找李商量一下,李毫不犹豫的l了(jin)我页面,杨志q的h收到处理Q因为它不便于访问李彦宏或者我的机器,所以Google又给他开?jin)一个响应页面,最后处理的是我的邻居,他的h被推l了(jin)我,因ؓ(f)我们处在相同的子|内所以交更为方ѝ原本四ơ的(g)索变成两ơ,即加上两次单的响应QL间也大大~短Q假若我们四个h拜访Google的机?x)分别?0:10:2:1Q结果就更不a自明?jin)。如果Google在网格方面多q加一些研发资金,自然?x)比Yahoo做的好,q是由Google软g的架构决定的?BR>
写这文章花?jin)我整整一天的旉Q我写这文章的开始时间是4日凌??4分,现在已经快到5日的0?4分了(jin)Q可是我q意Ҏ(gu),Z(jin)不媄(jing)响手头上的工作我军_此打住Q如果?zhn)有什么想法,请回帖指教,谢谢?/STRONG>

累死?jin)的泡?chng)



Brian Sun 2005-04-04 00:04 发表评论
]]>
插g片段和功能部?/title><link>http://m.tkk7.com/briansun/archive/2005/03/30/2616.html</link><dc:creator>Brian Sun</dc:creator><author>Brian Sun</author><pubDate>Wed, 30 Mar 2005 10:11:00 GMT</pubDate><guid>http://m.tkk7.com/briansun/archive/2005/03/30/2616.html</guid><wfw:comment>http://m.tkk7.com/briansun/comments/2616.html</wfw:comment><comments>http://m.tkk7.com/briansun/archive/2005/03/30/2616.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://m.tkk7.com/briansun/comments/commentRss/2616.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/briansun/services/trackbacks/2616.html</trackback:ping><description><![CDATA[插g片段和功能部?br> <br> [参考:(x)http://www.uml.org.cn/zjjs/zjjs24.htm]<br> [参考:(x)http://www-900.ibm.com/developerWorks/cn/linux/opensource/os-ecfeat/index.shtml]<br> <br> Eclipse 由插件组成,但在开?Eclipse 的插件时Q还要慎重考虑另外两个U别的组??插g片段和功能部件?br> <br> 插g片段Q如名称所暗示的)(j)是完整插件的l成部分 ? 目标插g。片D|供的功能与目标插件的功能合ƈ。片D可以用于将插g本地化成各种语言Q在无需形成一个全新发行版的情况下Q以增量形式功能部件添加到? 有插Ӟ或者提供特定于q_的功能。在许多斚wQ片D与插g一栗主要的区别是片段没有插gc?? 片段的生命周期由其目标插件管理。此外,片段的清单文件叫?fragment.xmlQ它列出?jin)目标插件的标识和版本号Q以?qing)片D늚标识和版本号?br> <br> 另一斚wQ插件功能部件根本不包含~码。在 Eclipse 体系l构术语中,功能部g是将一l相x(chng)件打包到完整的品中。例如,JDT 是包含了(jin)? Java ~辑器、调试器和控制台q样的插件的功能部g。名?feature.xml 的清单文件描qC(jin)一个功能部件归档文件。在其中Q该清单文g包含?jin)对该功能部件所包含的插件和其它资源的引用、关于如何更新该功能部g的信息、版权信息和 许可证信息?br> <br> 如果没有功能部gQ插件是难以N的,通俗地说Q不属于功能部g的插件是未被理的插件。Eclipse q_的启动过E包括一个配|的步骤。如果一个新的插件被拯?\plugins 目录Q或者以其他方式?Eclipse 在启动的时候可以找刎ͼ配置q程?x)发现它Q但只是通过新插g?splash 图标闪烁两次来通知(zhn)。Eclipse 之所以会(x)发现新的插gQ是因ؓ(f)存贮?\.metadate\.config\platform 中的当前工作区的配置校验和发生了(jin)变化Q由于?zhn)没有向^台提供一个可以引导用户做出配|修改的功能部gQEclipse 也只能是通过 splash-flash 来提C一变化。将(zhn)的插g打包Z个(或两个)(j)功能部gQ?zhn)获得如下好处?x)<br> <br>     * ?Eclipse 的配|过E中列出(zhn)的lgQ在 feature.xml 文g中)(j)所要求的先x(chng)?br>     * 使?zhn)的组件可以作?Eclipse 配置的活动部分来理<br>     * 创徏标记信息Q让使用那些使用q行期环境的用户可以识别(zhn)的lgQƈ通过一个欢q页面来告知用户(zhn)的功能部g所提供的功能(在关联到(zhn)的功能部g?welcome.xml 文g中)(j)<br>     * ?Eclipse 更新理器可以对(zhn)的lgq行修改<br> <br> 不要{到(zhn)的插g开发完成后再打包ؓ(f)功能部g。反映在功能部g定义中的设计l果?x)?jing)响?zhn)如何构徏?zhn)的插g。例如,大多数的 Eclipse lg都有 UI 功能部g和核?j)(不? UIQ功能部件。如果?zhn)的插件没有按q种Ҏ(gu)q行划分Q?zhn)可能会(x)马上考虑重新设计它们。功能部件也可以用来自动~译处理被引用的插g?br> <br> <img src ="http://m.tkk7.com/briansun/aggbug/2616.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/briansun/" target="_blank">Brian Sun</a> 2005-03-30 18:11 <a href="http://m.tkk7.com/briansun/archive/2005/03/30/2616.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于个体软gq程http://m.tkk7.com/briansun/archive/2005/03/26/2489.htmlBrian SunBrian SunSat, 26 Mar 2005 14:02:00 GMThttp://m.tkk7.com/briansun/archive/2005/03/26/2489.htmlhttp://m.tkk7.com/briansun/comments/2489.htmlhttp://m.tkk7.com/briansun/archive/2005/03/26/2489.html#Feedback5http://m.tkk7.com/briansun/comments/commentRss/2489.htmlhttp://m.tkk7.com/briansun/services/trackbacks/2489.html
q两天在M本讲RUP的书Q这本书的所有案例都是围lY?span style="font-weight: bold;">PSP Tools开发的全过E展开的,Q猜对了(jin)Q就?span style="font-weight: bold;"><<型团队软g开?gt;>Q)(j)Q因为已l很久没听h讲过PSP?jin),所以倍感亲切Q一旉免不?jin)多了(jin)些感想Q记?jin)下来,与大家分享?br>
PSP者,个体软gq程也?/span>W一ơ跟朋友提到PSPӞ朋友问“要那玩意有啥用Q”我当时愣住了(jin)Q半天没说出个所以然来,我还真不知道该怎样回答q么H? 如其来的问题Q或者应该说我还真没惛_回有人问?gu)L(fng)问题来。朋友的理由也很坦荡Q讲q程p讲团队如何把握过E,q样才能减少沟通的成本Q降低开发的 风险Q讲一个h的过E有什么意思,每个人都有每个h的思维方式Q尤其是脑力力_者,更是需要工作Ş式的个性化和多元化。这L(fng)来朋友是站在“脑力劳动者? 的立Z说话的,我也完全有理q信脑力劳动者大多数都是q样认ؓ(f)的。那我呢Q我站在谁的立场上?是“体力劳动者”吗Q朋友说“你是站在管理者的立场上才 那样说的Q因为管理者L希望每个人都把精力集中在提升自己的工作效率上。?br>
q一番争论我至今记忆Ҏ(gu)Q真的是朋友所说的那样吗?CMM、RUP、XP和PSP是目前Y件过E标准的四个代表Q?span style="font-weight: bold;">RUPQRationall一q程Q?/span>产自IBM/Rational公司Q这个公司的创始人来自电(sh)信领域的软g巨头Q?span style="font-weight: bold;">XPQ极限编E)(j)
来自Kent Beck和Martin FowlerQ他们是软g设计和Y件工E领域的世界名hQ?span style="font-weight: bold;">CMMQ能力成熟度模型Q?/span>与PSP 同一个父Ԍ即美国著名的软g界h士Humphrey先生Q军Ҏ(gu)希望Humphrey先生能ؓ(f)光择软g供应商制定一套衡量Y件开发能力的标准QSEI 和CMMp生了(jin)Q卡耐基梅隆大学希望Humphrey先生能ؓ(f)软gpȝ大一新生写一本可以规划其一生职业发展的书,PSP应运而生。四个标准的创始Z 表了(jin)四类对过E感兴趣的h:(x)大客戗管理者、开发高手、职业学者。可见我q不是站在管理者的角度Q(虽然我是哈伯L(fng)支持者)(j)Q大家的立场不同Q看到的 软gq程也就不同Q不信,你比较一下。大客户多数在乎的是规范、透明和稳定性,如果一个hd?jin)项目,目能否l箋(hu)Q如果所有的人都d?jin)项目,目能? l箋(hu)Q如果一个企业离开?jin)项目,目能否l箋(hu)Q管理者看重的是成本、风险和q度的等边三角ŞQ考虑到质量的理者就更ؓ(f)?gu)。开发h员,包括分析人员、设 计h员、实施h员和试人员Q都希望目的Q何工作都好上手,不要U怸谈兵Q要重视人(自己Q而不是过E,要重视品而不是文。唯独职业学者最不一P 他所想的往往是你所发现不到的问题,因ؓ(f)他们常常不在目中,多数是在目完成之后的谈论和数字中得到启发,因此他们看到的也可能是你最需要但自己却不? 道的Best Practise?br>
Z(jin)证明我的观点Q我找了(jin)一个很好的例子。我们项目组目前正在使用脑图怺交流思想Q和记录头脑风暴的结果?span style="font-weight: bold;">脑图QMindMap(R)Q?/span>? 托尼·巴赞的注册商标,他ؓ(f)什么要注册q样一个商标呢Q在托尼q轻的时候,他去图书馆找教h如何使用大脑的书Q图书馆理员认Z是个怪h“哪有h不会(x)? 大脑的呢Q”于是带他去?jin)“脑内科”的书架Q托知道管理员是不?x)理解他的,于是他决定自己去找。他p?jin)数q的旉Q找遍了(jin)全国所有著名的和不著名的图 书馆Q(他好像是英国人)(j)Q都没有扑ֈ一本教人如何用大脑的书。托突然有?jin)一U命感Q既然上帝让他领(zhn)到大脑的用是有技巧的Q那他就有义务将q个 发现告诉更多的h。这U命感像?j)奥格D_(ki)诺写?span style="font-weight: bold;"><<世界上最伟大的推销?gt;>一P?j)托尼p?jin)毕生的_֊Q经q无数次的调查和研究Q终于发明了(jin)脑图Qƈ成立?jin)hcd史上W一个以研究如何使用大脑为目标的国际性组l。今天,脑图已经家喻hQ它对hcL明的贡献l不亚于希尔博士?span style="font-weight: bold;"><<Think And Grow Rich>>Q?lt;<思考致?gt;>Q?/span>Q但与后者不同的是,托尼不仅因此而获得了(jin)崇高的威望,q获得了(jin)惊h的胦(ch)富,q完全得益于他ؓ(f)脑图注册?jin)商标。(x(chng)吧,每䆾Visio和每?span style="font-weight: bold;"><<学习(fn)的革?gt;>都付?sh)(jin)版权费用!Q?br>
几十q来Q托帮助过无数的hQ帮助他们改掉不良的思维?fn)惯Q帮助他们找到最合适自q工作Q帮助他们提高自q能力和收入,他ؓ(f)人类创造的价|岂是? 万可以衡量。这个例子用来证明我的观点,g是用?jin)宰牛刀Q既然研I如何用自q大脑都如此有价|那么研究一个自q开发过E和开发能力又何尝不必? 呢?

我读q很多托的书,我觉得如果说希尔教h如何完善?j)态,奥格教h如何培养?fn)惯Q卡耐基教h如何沟通交的话,那么托尼教人如何用大脑,他们共同构成 ?jin)美国式的成功学最基础的四步曲。这些不是哈伯d所说的商业道dQ而是一套种子如何成长ؓ(f)大树(wi)的指南。回到我们所谈论的话题(sh)来,如果以每个h的思维方式 不同为理由,可以放弃改q自己思维?fn)惯的话Q那q个Z定不能成为成功者!事实上,每个人的?j)态、每个h的习(fn)惯、每个h说话的方式、每个h如何使用? 脑、甚x(chng)个h?j)目中的道d观念q些都是不同的,且会(x)有很大差异,然而这恰恰是区别一个成功h士与其它人的最重要的差别?br>
最后,我希望留l中国所有每个开发h员(包括我自己)(j)一个最好的祝,希望每个人都能成为成功h士。当然这是不可能的,q个世界上Lp|q_者居多,功成名就者居,其原因,是没有注意q些成功人士应该注意的地斏V?br>
p书的泡(chng)


Brian Sun 2005-03-26 22:02 发表评论
]]>
也谈UI包装http://m.tkk7.com/briansun/archive/2005/03/23/2349.htmlBrian SunBrian SunTue, 22 Mar 2005 17:26:00 GMThttp://m.tkk7.com/briansun/archive/2005/03/23/2349.htmlhttp://m.tkk7.com/briansun/comments/2349.htmlhttp://m.tkk7.com/briansun/archive/2005/03/23/2349.html#Feedback0http://m.tkk7.com/briansun/comments/commentRss/2349.htmlhttp://m.tkk7.com/briansun/services/trackbacks/2349.html
Swing? 由Sun的优UU学家和Netscape的杰?gu)计师共同创造出来的卓越的架构。它一生下来就拥有皇族血l,但注定一生都不会(x)取得王位。现在崇? Eclipse设计架构的h比较多(包括我)(j)Q随之而来的是对Swing的批评声也很多(不包括我Q,其实q是一U错误的认识Q就? Smalltalk是一U很优秀但用较?yu)的语言QVB和Foxpro则属于那U天生拙劣但使用q泛的语a。Swing比Eclipse架构早出来好? q_(d)后者从前者那里吸取了(jin)不少的经验,也借鉴?jin)很多模式,才?x)有今天的成就。而直C天Swing仍然有很多值得我们学习(fn)的地斏V?br>
再说? 装,打开JButton的源代码׃(x)发现QJButton没有往可怜的Windows界面上画上Q何一W,换句话说Q整个类里面一行绘图代码都没有Q这? Z么?因ؓ(f)JButton是一个Controller的变U,l图lg由另一个类提供Q这个类以UI名字l尾Q在内部包中Q且l图器在不同的界面风? 下、不同的操作pȝ、甚至不同的语种下面有不同的实现。这使得JButtoncd两拨千斤Q凭一个不变的框架同时实现?jin)跨q_和可插拔风格。至于它的一? 昄参数Q别着急,既然有C有V不可能没有M啊,ButtonModelc负责维护JButton的参数?br>
我们再看卓越的EclipseQEclipse比其q种装来说p复杂的多?jin),我们分成六个环节来讲?br>
1?/strong>EclipseWindows的绘制方法包装成SWTQ这U包装很原始Q但是很有效Q因为Java不好调用Win32APIQ所以这一步实C(jin)跨^台。需要注意的是,q种包装应该属于单的分层QEclipse~写?jin)一个操作系l的FacadeQOSc,q个cȝwin32版的源代码有2734行,昄是个庞然大物啦?br>
2?/strong>Eclipse把SWT当作它的基本lg来重用,Q就好像q是别h写的东西Q,它把SWT的组件l包装成JFaceQJFace采用真正意义上的 MVC模式Q比L(fng)凑的SWT来要zL一炏VJFace把SWT当成它的ViewQ把Provider的实现当作它的ModelQ把自己包里的可控的带有lg逻辑的Viewercd成Controller?br>
3?/strong>׃SWT被设计用来绘制窗体组Ӟ按照理Q应该有一个包被用来绘制二l图形,q个工作׃l?font color="#008000" face="Courier New" size="5">Draw2D
来完成,它被攄在GEF包中Q和SWT 处在一个层ơ。需要注意的是,Draw2D与SWT的组l机制不同(?a href="http:%20//m.tkk7.com/briansun/archive/2005/02/26/1518.html">前面的文?/u>Q?br>
4?/strong>Eclipsel箋(hu)装Q因为JFace只解决了(jin)高lg的问题,q不能直接放在Workbench里面用,所以Eclipse制作?font color="#0000ff" face="Courier New" size="5">Workbench
包,q个包把Viewer装成ViewPartQ它认ؓ(f)Viewer是绘制器Q而ContentProvider是ModelQ所以,像之前的几次一PViewPart变成?jin)Controller?br>
5?/strong>有了(jin)ViewPart也就有了(jin)EditorPartQ这两种Part都有可能要显C?font color="#800080" face="Courier New" size="5">Form
表单Q一 U类似HTML的界面)(j)Q表单上的控件——理所当然Q是? SWT实现的——与一般意义上的控件有很大的不同,q种不同主要体现在展现方式和事g通知上。Eclipse采取的方式是另做一套内部实玎ͼ包装SWT? 玎ͼ比如SWT有一个ButtonQ表单包也有一个表单ButtonQ与Button通过一个Toolkitc{换。这U方式就是设计模式中提到? Proxy?br>
6?/strong>现在我们再看看需要绘?sh)维囄EditorPartQ这个部分是通过GEF来实现的QGEF是比JFace和W(xu)orkbench更严格的MVCQ它再EditorPart的基上再包装一ơ,策略等控g业务与控件绘制分R?br>
? 天我得到的最重要的一个结论,是装是相对的QMVC也是相对的,因此在JFace看来是Controller的东西在Workbench来看可能? ViewQ这可能D在设计时的大量争议。今天的另一个收h发现?jin)封装也有几c,我能惛_的应该有Facade装、Proxy装、MVC装三种Q? 你还能想到更多的吗?

做Y件的泡(chng)





Brian Sun 2005-03-23 01:26 发表评论
]]>
վ֩ģ壺 ޹˾Ʒԭ| Ƶ߹ۿ| ޳aƬ߹ۿ| av߹ۿһ | aëƬ߹ۿ| A벥ëƬһ avavavëƬ | ޵һƷպ߲| Ʒɫѿ| aëƬȫѲ| ղþǿѵĿ| ޹ۺϾƷ| Ƶ| þþþ뾫Ʒպ | ѿһһƬ | ޾Ʒһ| 99þѾƷɫƬ| GOGOGOѹۿ| 337pձŷ޴| AV鶹Ʒ| ޺Ļ| av뾫Ʒվ| ˳߹ۿƵ| ձһ| պƵۿ| ëƬվ| ˳Ƶ| ŮػҹƵѿ| Ұѹۿ| | ŮƵ| պƷһƵ| hƵѹۿ| 5gӰԺ5gˬӰԺ| ŷ޾Ʒ99ëƬѸۿ| ˬִ̼һ߳| йڶѲ| ձAëһƬ| Ƶ| ϼ˳߹ۿƵ| һƵ| 91۲ݹ߹ۿ|