《设计模式》作者John Vlissides-UMLChina访谈录
2001年9月20日,面向对象技术专家、IBM研究中心研究员、软件开发的里程碑著作《设计模式》的作者John Vlissides在UMLCHINA(http://www.umlchina.com)的“嘉宾聊天室”里与中国的软件开发者在线畅谈。下面是部分交流实录。
(补注:John Vlissides于2005年11月14日因脑部肿瘤去世,享年44岁。)
您能告诉我们在框架和软件构架之间有什么重要的区别么?我经常在一些抽象的层次上对他们感到疑惑,无法区分。
首先,“框架”是代码,它体现一类软件的设计。例如,会计系统和图形编辑器。而 “软件构架”是一种成型的规范。它与建筑学中的“构架”又不完全相同,有很多具体的区别存在。对于越大的项目构架就越重要。最明显的,构建构架是在处理关于建造物的事情。不容易发现的是,软件是很容易扩展和改变的,有很多实际情况会限制你尽可能快的修改你的构架,并且在开发过程中也是非常容易中断的。
设计应用于每件需要继续下去的事物。我总是在写软件的时候开始这一切。后来,我就会学会知道什么在起作用,什么却没有。在我的书中,我也仅仅是将一些我已经学会的知识和能力记下来并发表而已。
John,您如何看待XP(Extreme Programming)?
我喜欢在XP中应用模式。我认为XP的核心有五个原则:快速反馈、简单设想、渐进改变、吸收变化、高质量的工作。如果你在一个项目的开发过程中,可以参考一下XP编程方面的书籍和Larman 的《Applying UML and Patterns》这本书(即将有新版本)。我认为XP很伟大,特别是对于一些无法准确定义需求的中小型的项目。
大多数项目的需求都是很难定义的,许多中国的程序员都被RUP误导了。
事实上不一定。较大的项目一般会有比较完整容易收集的需求。例如,针对航天飞机设计的飞行控制软件就有非常规范的需求。RUP对于它所擅长的部分的确是非常好用的——即:带有可控需求的比较大的项目。
是的,在成熟的工业中,需求一般都是比较规范的。但是在中国,大多数是不规范的。
我谈到的是所有的人,不仅仅是中国。软件技术仍然处于幼年期,看看传统工业发展起来需要多少时间,百年?千年?而我们才写了多少年软件,50年?
我个人并没有出版新书。我写的最新的一本书是《Pattern Hatching》。
同时我们已经为《设计模式》的第二个版本工作了好几年了,其中大多数代码例子都是基于Java的,现在第二版中没有出现什么新的观点,但我感觉新鲜的东西就快出现了。大多数时候我们都在使用Java,因为它可以最好地 表达我们想表达的思想,另外,它也很流行。
顺便说一下,我是一个泛型编程(Generic Programming)的强烈爱好者。我曾经和Krzysztof Czarnecki一起工作过。而且我还在考虑出版一系列“compound patterns”(混合模式),我在C++ Report中写了许多关于它们的文章。
那,什么是混合模式呢?您能否给我们介绍一下您的这本新书?
混合模式,请到http://www.research.ibm.com/designpatterns/publications.htm#Articles上查看相关的文章。顺便说一句,它仍然不是一个项目,而仅仅是一个观念。
你可以看一下Fowler的《UML Distilled》。如果你想更深入一点,可以学习Rumbaugh的《UML参考手册》。
一些人说win2000是专门为进入互联网设计的,对么?
我正在自学Linux,我觉得它非常复杂,不是吗?我们应该研究Linux的什么?或者说我们应该如何学习?
嘿,它可是一个操作系统!(你只需要学会使用它)不过我强烈建议学习Linux。我曾经看到它被证明成功应用于安全应用,特别是密码技术中。我对Linux的内部实现了解得不多,所以无法指出它是否使用了哪些模式。但是我肯定模式存在于其中。研究这样一个可以作为范例的软件是一个好主意。
对于模式是有一些原理性的观点,特别是Alexander的。Jim Coplien已经完成了模式的“禅”。
John,我想问您一些关于使用模式的规则方面的问题。我的意思是说,是否有一些选择模式的基本原理。
我不能给你一套很严格的规则,只能建议:你必须在应用这些模式的过程中来学会他们。
在您的设计模式中,主要是关于设计具体的小的组件。那么我如何使用这些模式来构建大型系统呢?是否那些构建大型系统的设计模式都是基于这些小模式的呢?
不一定使用小的组件,但是在通常的意义上,它们不能成为大型构架的核心流程。
在23种模式中没有任何一种是构建基于数据库应用的,这是为什么?
John Vlissides教授,我认为设计模式是应用框架的组件,所以当你要实现一个框架的时候, 你需要将这些设计模式具体化。但是当我抽象软件框架的时候,我经常会处理得过于详细,您能否给我一些关于这方面的建议呢?有些时候,我认为问题太过于详细,并且我不能从模型中抽象出正确的构架。如果框架过于详细,就会减少它的可重用性。
是的,你能够将模式作为一种示例来思考它们,但是…通常模式仅仅是一个将你的需求进化到设计的起点。在Pattern Hatching中,我使用模式设计了一个文件系统API。在不仅仅一个例子中, 模式采用了非传统的方式。并且从这些方式中得到了发展。
模式意味着对手边的问题做适当剪裁。这就是为什么它们不是代码,而是散文。它们教育你,使你能通过你自己的思考来证明并解决问题。
我没有阅读过您的Pattern Hatching,但是我读过您的Design Patterns,Pattern Hatching 主题是什么?
Pattern Hatching的内容,部分是关于应用模式的注释、部分是指南。部分是我们四个开发模式的背景材料。
http://www.amazon.com/exec/obidos/flex-sign-in/ref=cm_rate_rev/104-5101538-2496757#rated-review
我想知道在设计模式第二版中是否有关于数据库应用的模式。
我是设计模式的一个初学者,您能否给我一些有用的建议?
你可以去阅读一下Shalloway写的一本非常出色的新书Design Patterns Explained(编者注:由UMLChina翻译组成员透明翻译的中文译本《设计模式精解》即将出版)。这本书对初学者会有很大的帮助。除了这些,我的Pattern Hatching这本书也展示了如何使用设计模式。最重要的是,你应该从应用的角度来学习他们,而不仅仅是阅读它们。
我认为设计模式的核心部分是组合和虚拟继承,您同意吗?
不,恐怕我不能同意。我想这取决于你说的“核心部分”的具体含义。虚拟继承过分依赖于C++了。不过组合是一个重要的部分,如同代理一样。但这些东西都是关于实现的。
对于描述问题, 模式都是平等的。而人们面临的最大问题是他们不知道哪些问题是前人曾经解决过的。
而模式有几个优点:它们向人们展示那些反复出现的问题的优秀解决方案,这些方案是经过时间考验的;它们的名称为开发者之间的讨论构造了一个通用的词汇表;它们提供了重构代码的目标;而且它们可以帮你对不能肯定的方法进行检验。这些巨大的优点,才是模式的核心。
所谓“重构”(Refactoring),这是一种修改代码的技术, 它让代码更优雅,而不改变代码的功能。
我认为在分析模式和设计模式之间没有任何联系,对么?我认为分析着重于现实世界的设计模型。但设计是着重于如何实现它。
我认为在分析模式和设计模式之间有非常多的关系。同样的关系也存在于分析和设计之间。你不能将分析从设计中独立出来,如果你打算这么做,那么你一定会失败的。分析模式捕捉反复出现的领域建模问题的通用解决方案;设计模式捕捉反复出现的程序设计问题的通用解决方案。同其他模式一样,分析模式也不能保证复用,而且分析模式特别无法保证复用。
关于分析模式,最流行的一本书是Fowler 的Analysis Patterns:
http://www.amazon.com/exec/obidos/ASIN/0201895420/qid=1000995590/sr=2-1/ref=sr_2_3_1/104-510153 8-2496757
在《设计模式》一书出版之后,又出现了越来越多的模式。怎样学习(和选用)那些新的模式,您能给我们一些建议吗?
学习模式最好的方法就是使用它们——根据你的需要去选择,而不是先入为主的决定。寻找新的模式则是另一种方法。看看 《模式年鉴》或许会有帮助:http://www.amazon.com/exec/obidos/ASIN/0201615673/qid%3D960385247/104-5101538-2496757 。
关于模式的选择和学习,我不能给你一套很严格的规则,只能建议:你必须在应用这些模式的过程中来学习它们。有一个关于模式的主页:http://hillside.net/patterns/。
IBM加入到Linux和Java集团,这是否暗示蓝色巨人将会更开放?是否微软和IBM代表两种不同的商业途径——垄断的途径和开放的途径?
IBM在开发源码领域也是一大巨头。我不知道这是否意味着“两种途径”。不过它们都是商人,都是为了赚钱。微软看重对消费电脑市场的控制;而IBM则看重对更大范围的商用电脑市场的控制。
中国程序员无法在一个团队中协同工作。他们认为“破解”可以显示他们的聪明。他们用一种愚蠢的方式进行破坏,而不是建设。他们攻击行业巨头,因为他们自己太渺小。而不管微软还是IBM都 没办法控制破解的行为。因此一些本来清白的人也开始变成破解的信徒。
(迷惑的)控制“破解”的行为?(似乎没有概念)不过Alexander从中国文化中得到了很多灵感。
不,我在纽约,但是我一直很希望能访问中国。我父亲在1972年访问过中国,就在尼克松访华之后。
教授,请问您最常用的语言是什么?C++、Java、还是其他?另外,请问您的年龄?
到目前为止是Java——尽管我已经没有从事大量的编程工作了。我想,我已经老了。我已经满40岁了,就在8月2日。
我对您是如何加入到Gang Of Four(或者应该是Gang Of Three)的故事很感兴趣。您可以告诉我们相关的事情么?
umlchina建议我谈谈Erich Gamma—好的,当然©Erich来自瑞士,但他看起来象个意大利人。在http://www.research.ibm.com/designpatterns/pubs/ddj-eip-award.htm有他的一张照片 (当时我们还比较年轻)。
请看说明(我是左起第三个)…哦,lovelybug28指出我是左起第四个,我真笨!(谢谢lovelybug28)也许这是我无意中说出的心里话——我希望成为Erich!©©
对不起,John,私人问题:9.11那天你在纽约吗,是否离世贸中心很近?
是的,听到消息的时候,我正在公司的停车场,距离大约30英里。
你是否碰到过Chirstopher Alexander?
blakeli微笑着对大家说: Who have read the book of John Vlissides??(20:21)
lipy对blakeli说: 哪里可以买到?(20:23)
iwxg对blakeli说: How many times have you read this book?(20:24)
blakeli微笑着对大家说: 好多书店都有啊!(20:24)
blakeli微笑着对大家说: I read it littly(20:24)
iwxg对blakeli说: I'm just reading it,but I can't grasp it well.(20:26)
blakeli微笑着对大家说: o! Maybe you will get some advise from Mr.John.(20:28)
umlchina对大家说: GOF's photo at http://www.umlchina.com/Chat/vlissidesinfo.htm(20:29)
umlchina对大家说: but I am not sure who is John, you can ask himself later(20:29)
babysloth对大家说: Pattern Hatching不错,C++ View上正在连载。(20:29)
blakeli微笑着对umlchina说: Where is the photo(20:29)
umlchina对大家说: Please set your color in BLACK when you talk to each other(20:30)
babysloth对大家说: 抱歉抱歉,成习惯了,呵呵。(20:31)
umlchina对大家说: In BLUE when asking question(20:31)
blakeli微笑着对umlchina说: ok(20:32)
babysloth对umlchina说: 透明来吗?(20:35)
paofan对大家说: hello everyone(20:39)
fcx123对umlchina说: Shoul I use red color?(20:39)
jackaroo_yi对大家说: Hello(20:39)
umlchina对fcx123说: Right!(20:39)
fcx123对umlchina说: thanks!(20:40)
babysloth对大家说: 透明来吗?(20:40)
huangcy对大家说: hello, when do we begin the talk?(20:40)
umlchina对fcx123说: I post another photo : http://www.umlchina.com/Chat/vlissidesinfo.htm(20:40)
lovelybug28对大家说: how do you success in ask John to chat with us????(20:40)
umlchina对大家说: John and his son Matthew(20:41)
iwxg对大家说: When does john come?(20:43)
lovelybug28对大家说: how do you success in ask John to chat with us????(20:43)
johnvlissides进入聊天室.(20:47)
umlchina对大家说: welcome(20:47)
johnvlissides对大家说: hi!(20:47)
umlchina对johnvlissides说: welcome(20:47)
johnvlissides对大家说: hi everybody!(20:48)
fcx123对大家说: Hello,Prof. johnvlissides! Nice to meeet you.(20:48)
babysloth对大家说: Is everything OK now in New York?(20:48)
umlchina对大家说: 主持人:fcx123(20:48)
johnvlissides对大家说: I wouldn't say everything is okay, but(20:48)
johnvlissides对大家说: things are settling down(20:48)
huangcy对johnvlissides说: hello,nice to see you.(20:49)
lipy对johnvlissides说: hello,Mr. John!(20:49)
johnvlissides对大家说: I presume I'm broadcasting now(20:49)
fcx123对大家说: Prof. johnvlissides, Please use red color!(20:49)
johnvlissides对大家说: how's that?(20:50)
umlchina对大家说: 提问及参与讨论:草原之蓝(20:50)
babysloth对大家说: I've written to you and Mr Stroustrup, but only got reply from him.(20:50)
umlchina对大家说: 互相说话:绝对黑色(20:50)
fcx123对大家说: ok. Which one ask first?(20:50)
johnvlissides对babysloth说: that's strange(20:51)
johnvlissides对babysloth说: what's your e-mail address?(20:51)
johnvlissides对babysloth说: i haven't received anything from you(20:51)
huangcy对johnvlissides说: Professor John lissides, can you give us what is the important differences between framework and software architecture?(20:52)
babysloth对johnvlissides说: oh, I'm sorry.(20:52)
johnvlissides对大家说: first of all, a framework is code(20:53)
lipy对johnvlissides说: can you tell me how you start your software designing?(20:53)
huangcy对johnvlissides说: I often confuse them in some abstract level.(20:53)
johnvlissides对大家说: it embodies the design of a category of software(20:53)
johnvlissides对大家说: like for example, accounting systems or graphical editors(20:53)
johnvlissides对大家说: "software architecture" is an emerging discipline(20:54)
huangcy对johnvlissides说: I think the architecture is the begin of software design, isn't it?(20:54)
johnvlissides对大家说: not unlike building architecture, but with many concrete differences(20:54)
johnvlissides对huangcy说: architecture is most useful for larger projects(20:55)
huangcy对johnvlissides说: Can you give me these differences?(20:55)
johnvlissides对huangcy说: design applies to everything that needs to last(20:55)
johnvlissides对lipy说: I got started by writing software!(20:55)
johnvlissides对lipy说: after a while, I learned what worked and what didn't(20:56)
simontang_bit进入聊天室.(20:56)
johnvlissides对lipy说: I just had the privilege of writing down and publishing what I'd learned(20:56)
babysloth对大家说: Well, I'm interesting in the story about how you joined Gang Of Four(or there would be Gang of Three:-)). Could you please tell us something?(20:56)
johnvlissides对huangcy说: most obviously, building architecture deals with buildings(20:56)
johnvlissides对huangcy说: less obviously, software is much more malleable and changes faster(20:57)
lipy对johnvlissides说: what is the name of your new book?(20:57)
huangcy对johnvlissides说: Yeah,but I think the software is mostly like building.(20:57)
johnvlissides对babysloth说: I can send you a draft of an article that talks about how we got together(20:58)
johnvlissides对lipy说: I personally don't have a new book out(20:58)
huangcy对johnvlissides说: in other words,software is more unstable?(20:58)
johnvlissides对lipy说: the last book I authored is Pattern Hatching(20:58)
babysloth对johnvlissides说: Oh, thanks!!!(20:59)
fcx123对johnvlissides说: I think there no relations between "analysis pattern" and "design pattern", right?(20:59)
huangcy对johnvlissides说: and maybe change some part frequently? but how about other aspects?(20:59)
johnvlissides对huangcy说: yes. there are lots of physical limitations on how fast you can change a building(20:59)
johnvlissides对huangcy说: software is much easier to change---and break in the process(21:00)
paofan对大家说: Thank you very much. Mr.John. in this special time. U from USA, talking about pattern with us.(21:00)
lipy对johnvlissides说: I just begin to learn UML in short time?can you give me important advice?(21:00)
johnvlissides对fcx123说: I think there are lots of relationships between analysis and design patterns(21:00)
johnvlissides对fcx123说: they are the same relationships that exist between analysis and design themselves(21:01)
founder_chen进入聊天室.(21:01)
simontang_bit对大家说: design and analysis are unified process.(21:01)
johnvlissides对fcx123说: you can't divorce analysis from design. If you try, you'll fail(21:01)
huangcy对johnvlissides说: and Is design patterns used to shield these changes?(21:01)
johnvlissides对paofan说: thank you!(21:02)
jeffray对大家说: where is the john?(21:02)
johnvlissides对paofan说: it's an honor to be here(21:02)
johnvlissides对jeffray说: right here in NY(21:02)
johnvlissides对lipy说: check out Fowler's UML Distilled(21:03)
paofan对大家说: Is pattern about phlisophy? not only model(21:03)
babysloth对johnvlissides说: jeffray, please be polite just as a Chinese!!!(21:03)
johnvlissides对lipy说: if you need to dig deeper, get Rumbaughs Reference Manual(21:03)
founder_chen对大家说: hello(21:03)
jeffray对johnvlissides说: Hmmmm,nice to meet you john ,i am one of your readers.(21:04)
johnvlissides对paofan说: there's a philosphical aspect to patterns, especially as Alexander's(21:04)
lipy对johnvlissides说: thank you very much!(21:04)
johnvlissides对jeffray说: a pleasure to meet you too, jeffray(21:04)
fcx123对johnvlissides说: thanks! I mean analysis focus design module of realist. but desin are focus how to deal with it.(21:04)
lovelybug28对大家说: as a new to design patterns,can you give me some useful advice?(21:05)
johnvlissides对founder_chen说: pleased to meet you, founder(21:05)
paofan对大家说: yeah, from architechure(21:06)
johnvlissides对lovelybug28说: a good new book is Design Patterns Explained, by Shalloway(21:06)
johnvlissides对lovelybug28说: great for beginners(21:06)
johnvlissides对paofan说: Jim Coplien has written extensively on the "zen" of patterns(21:06)
huangcy对johnvlissides说: thank you ,Professor John lissides(21:07)
jeffray对johnvlissides说: Ok,john,I wanna ask you about the rules to use parterns..(21:07)
babysloth对johnvlissides说: Design Patterns Explained? Oh, it's being translated into Chinese, said to be very good.(21:07)
johnvlissides对lovelybug28说: beyond that, my Pattern Hatching book demonstrates how (not) to use design patterns(21:07)
paofan对大家说: some thing is coming to real. As Alexander's forecast.(21:07)
johnvlissides对lovelybug28说: above all, though, you have to apply patterns to learn them(21:07)
johnvlissides对lovelybug28说: you can't just read about them(21:07)
jeffray对johnvlissides说: I mean is there any philosophy choose a partern.(21:07)
qingzuozhou对大家说: Hi, Mr. Johnvlissides, I have a question.(21:08)
lancelotlanlan进入聊天室.(21:08)
keeper_xu对大家说: //cold(21:08)
johnvlissides对jeffray说: I don't have a hard set of rules to give you, just advice: you have to apply patterns to learn them(21:08)
johnvlissides对qingzuozhou说: yes sir(21:09)
qingzuozhou对大家说: In your 23 design patterns, they are mainly used to design concret small components.(21:09)
qingzuozhou对大家说: How can I use these patterns to construct large system? Are there any design patterns on large system based these small patterns?(21:09)
jeffray对johnvlissides说: er?(21:09)
babysloth对johnvlissides说: Well, Mr Vlissides, how do you think of MVC? Is it a combination of several patterns, a model or a large pattern?(21:09)
lipy对johnvlissides说: Can you tell me how to use "collection manager"?(21:09)
johnvlissides对qingzuozhou说: not necessarily small components, but in general yes, they don't address large-scale architectural concerns(21:09)
lovelybug28对johnvlissides说: thank you,John! i'm very happy you can reply. i'm reading your bood design patterns.(21:10)
missile对大家说: Nice to meet you !I like Design patterns!Thank you !(21:10)
huangcy对johnvlissides说: Professor John lissides,I think the design patterns is the component of application framework, so when you implment a framework you need to concrete some design patterns.(21:10)
jeffray对johnvlissides说: what's the relationship between parterns and programming languages?(21:10)
johnvlissides对missile说: glad I could help!(21:11)
jackaroo_yi对大家说: How to write summary design?(21:11)
paofan对大家说: partern-life program-language(21:11)
johnvlissides对babysloth说: it does indeed embody several of our patterns---plus synergies between them, plus some extra stuff(21:11)
paofan对大家说: Is it right? Mr. john.(21:12)
huangcy对johnvlissides说: but when i abstract the framework of software ,i often is in too detail ,Can you give some advices about it?(21:12)
jeffray对johnvlissides说: or-- if i use c++ ,then I should choose xxx partern,if i use java ,then i'd better choose some othe parterns,is that true?(21:12)
missile对大家说: I used pattern in a huge project.if no patterns ,I dont know how to realise.(21:12)
qingzuozhou对大家说: there is no any pattern about building an application based on Database in 23 patterns, why?(21:12)
johnvlissides对huangcy说: yes, you can think of it as "instantiating" a pattern---but...(21:12)
babysloth对johnvlissides说: So is MVC also a pattern?(21:12)
johnvlissides对huangcy说: usually the pattern is just a starting point from which to evolve the design to your own needs(21:13)
jackaroo_yi对johnvlissides说: Hello johnvlissides ,how to write(21:13)
johnvlissides对paofan说: not sure I understand what you mean(21:14)
paofan对大家说: sorry, umlchina(21:14)
lipy对johnvlissides说: could you provide me some example of UML designing,Mr. John?(21:14)
johnvlissides对qingzuozhou说: because none of us had enough experience in database applications(21:14)
jackaroo_yi对johnvlissides说: Hello johnvlissides ,how to write detail deisgn with UML .(21:15)
missile对fcx123说: Are you going to write a paterns book about java?(21:15)
johnvlissides对huangcy说: what sort of detail?(21:15)
qingzuozhou对johnvlissides说: there are no patterns about building an application based on Database in 23 patterns, why?(21:15)
paofan对johnvlissides说: pattern give code life. It is new view about program.(21:15)
huangcy对johnvlissides说: the pattern is a starting point ? what is the real meaning? excuse me.(21:15)
johnvlissides对missile说: we've been working on a 2nd edition of Design Patterns for several years(21:15)
johnvlissides对missile说: and most of the code examples are Java(21:16)
paofan对johnvlissides说: Alexander thanks that all building have life too.(21:16)
johnvlissides对missile说: (no idea when 2ed will be out, but it won't be soon)(21:16)
ansen_chen对大家说: When I use paterns,how can i extend it?(21:16)
johnvlissides对huangcy说: in Pattern Hatching I design a file system API using patterns(21:17)
ansen_chen对大家说: please give me some advices(21:17)
lovelybug28对johnvlissides说: now some people regard pattern as bible.they think pattern can solve everything. how do you think of pattern and what is significance for pattern appears?(21:17)
huangcy对johnvlissides说: sometimes, I think the problem too detail ,and i cann't abstract the proper struct from model. and make the framework too detail and reduced its reusablity.(21:17)
johnvlissides对huangcy说: in more than one case, a pattern got applied in an unorthodox way(21:17)
johnvlissides对huangcy说: and evolved from there(21:17)
missile对johnvlissides说: I would like to waiting for it ,like waitting for my girl friend!(21:17)
lipy对johnvlissides说: can you talk about the object-oriented database about UML ?(21:17)
johnvlissides对huangcy说: patterns are meant to be tailored to the problem at hand(21:18)
johnvlissides对huangcy说: that's why they're not code, but prose(21:18)
johnvlissides对huangcy说: they educate you, empower you to solve the problem with your mind turned on(21:18)
babysloth对johnvlissides说: We can find some generic implements of SINGLETON, which we can reuse easily. But how about other patterns? It seems that we can find many.(21:18)
johnvlissides对missile说: wow, now that's a compliment!(21:18)
babysloth对johnvlissides说: sorry, we cannot find many.(21:19)
huangcy对johnvlissides说: I have not read your
,but i read
, What is the main topic of
?(21:19)
missile对johnvlissides说: Will you write some about Achetechur?(21:19)
johnvlissides对ansen_chen说: are you asking how to apply a pattern, or how to amend its description?(21:19)
babysloth对huangcy说: pattern hatching: design patterns applied(21:20)
johnvlissides对babysloth说: the JDK is full of patterns, particularly Composite, Strategy, Template Method, Prototype, Observer, Decorator, Facade, Abstract Factory....(21:20)
qingzuozhou对johnvlissides说: I want to know there are any patterns about database applications in 2ed of <
>.(21:21)
johnvlissides对huangcy说: Pattern Hatching is part commentary, part tutorial on how to apply patterns, and(21:21)
babysloth对johnvlissides说: Yes, we can see the patterns, but we cannot reuse it easily just in form of a class, can we?(21:21)
huangcy对johnvlissides说: but the framework is the codes , I want to make my framework more abstract, and i think it will make it more good.(21:22)
johnvlissides对huangcy说: part a behind-the-scenes look at how the four of us develop patterns(21:22)
johnvlissides对huangcy说: http://www.amazon.com/exec/obidos/flex-sign-in/ref=cm_rate_rev/104-5101538-2496757#rated-review(21:22)
johnvlissides对qingzuozhou说: nope(21:22)
johnvlissides对qingzuozhou说: The Pattern Almanac has a good set of references to such patterns(21:22)
johnvlissides对babysloth说: people have tried---me, even(21:23)
johnvlissides对babysloth说: code generation generally isn't worth it(21:23)
qingzuozhou对johnvlissides说: how can I use patterns to upgrade old applications? Give some advices please(21:23)
johnvlissides对babysloth说: Alexandrescu's templates work better (http://www.amazon.com/exec/obidos/ASIN/0201704315/qid%3D982783857/104-5101538-2496757)(21:23)
huangcy对johnvlissides说: I think it is a good book for me, I am eager to have a such book.(21:24)
qingzuozhou对johnvlissides说: the old system didn't designed with OO design(21:24)
babysloth对johnvlissides说: Do you mean Modern C++ Design?(21:24)
johnvlissides对huangcy说: framework design is a whole area itself(21:24)
johnvlissides对huangcy说: the best way to do it is to build several examples of the applications your framework is to target *before* you write the framework(21:24)
johnvlissides对huangcy说: then you take a step back and come up with an abstraction that caters to all the applications, and then some(21:25)
lancelotlanlan进入聊天室.(21:25)
ansen_chen对大家说: When I use some patterns,how can i extend it and made it detail?Please give me some advices.(21:25)
johnvlissides对babysloth说: correct(21:25)
ansen_chen对大家说: When I use some patterns,how can i extend it and made it detail?Please give me some advices.(21:25)
babysloth对johnvlissides说: Modern C++ Design is not easy to understand.(21:25)
johnvlissides对qingzuozhou说: patterns are useful as targets for refactorings(21:25)
johnvlissides对qingzuozhou说: finer-grain refactorings are even more fundamentally useful(21:26)
johnvlissides对qingzuozhou说: see Fowler's Refactoring book(21:26)
lipy对johnvlissides说: we are changing c module to C++ module ,can you give me some advice?(21:26)
ansen_chen对johnvlissides说: When I use some patterns,how can i extend it and made it detail?Please give me some advices.(21:26)
huangcy对johnvlissides说: Abstact the framework from existed system? oh, I see some. thank you very much.(21:26)
johnvlissides对babysloth说: agreed---the template implementations are very hard to understand(21:26)
johnvlissides对babysloth说: but the templates themselves are pretty easy to use(21:26)
babysloth对johnvlissides说: Why do you choose java in DP 2/e? Have you considered combine Generic Programming and Patterns?(21:27)
babysloth对johnvlissides说: I like template very much.(21:27)
qingzuozhou对johnvlissides说: in the markets, are there any tools integrating the patterns into ?(21:27)
johnvlissides对ansen_chen说: my Pattern Hatching book and Shalloway's Design Patterns Explained have many good examples of applying patterns(21:27)
paofan对johnvlissides说: how about pattern's future?(21:28)
johnvlissides对lipy说: why are you changing it?(21:28)
thomas_guo对johnvlissides说: What about your research recently?(21:28)
johnvlissides对babysloth说: we use mostly Java because it illustrates what we want to show best, and it's also popular(21:28)
lovelybug28对johnvlissides说: John,after pattern,do you think what would replace it?(21:29)
lipy对johnvlissides说: can you tell me some other good tool using UML except rose?(21:29)
fcx123对johnvlissides说: We don't know how to create pattern. Can you tell about the exprience that you create those design pattern?(21:29)
johnvlissides对babysloth说: I'm a big fan of generic programming, by the way(21:29)
johnvlissides对babysloth说: I've worked a bit with Krzysztof Czarnecki(21:29)
johnvlissides对qingzuozhou说: sorry; I don't understand your question(21:30)
johnvlissides对paofan说: they certainly have on :-)(21:30)
xf_yes对大家说: John, when doing OO design, sometimes i feel it's difficult to control granularity of objects, do you have any suggestion in this?(21:30)
lipy对johnvlissides说: because our product is changing to the model of Client -Server(21:30)
xf_yes对大家说: i.e. When can we say: ok, let's make this abstraction an object?(21:30)
johnvlissides对paofan说: seriously, the set of patterns will expand and will be refined(21:31)
johnvlissides对paofan说: patterns will be categorized better(21:31)
babysloth对johnvlissides说: Oh, I see. I'm trying to learn GP now, so interesting!(21:31)
johnvlissides对paofan说: and more people will use them(21:31)
johnvlissides对xf_yes说: a very good point(21:31)
xf_yes对大家说: thanks :) John(21:32)
qingzuozhou对johnvlissides说: Any design tools implements your patterns as templates?(21:32)
johnvlissides对xf_yes说: there's a trade-off between granularity/flexibility/cost(21:32)
huangcy对johnvlissides说: I think GP use the template to abstract the modules, Is it right?(21:32)
socceracer对johnvlissides说: Is there a pattern language at present? I mean, a source language to describe the pattern?(21:32)
crane_th对大家说: hello(21:32)
johnvlissides对xf_yes说: the finer grain, the more flexibility, but generally the higher the complexity and costs, especially run-time and maintenance costs(21:32)
babysloth对johnvlissides说: Well, do you think GP is a part of OO(as in OOSC), or a independent paradigm?(21:32)
fcx123对johnvlissides说: You are one of the famous master of "design pattern", can you introduce some of your friends in the fields? Hope you to give us their homepage or e-mail box.(21:33)
socceracer对johnvlissides说: Can we treat the pattern in a formal way?(21:33)
babysloth对johnvlissides说: And will patterns be combined with GP?(21:33)
xf_yes对johnvlissides说: make sense(21:33)
johnvlissides对xf_yes说: you should make it an object if it becomes clear that it can change, and those changes should ripple through the system(21:33)
johnvlissides对xf_yes说: it should also be a good abstraction, a good metaphor(21:34)
beartoy对johnvlissides说: I developed a server, but it always throw out of memory exception, it seems stack is not enough, because I used a lot of recursions. Is there any method to solve it? I u(21:34)
paofan对johnvlissides说: yeah, more program will infect future. infect every one.(21:34)
huangcy对johnvlissides说: Prof. Can you tell me what is the main different between analysis pattern and design pattern?(21:35)
xf_yes对johnvlissides说: by 'ripple' you mean the object's state change will have influence on other part of the system?(21:35)
supperapplication进入聊天室.(21:35)
johnvlissides对fcx123说: check out IBM's Design Patterns page http://www.research.ibm.com/designpatterns/(21:35)
johnvlissides对xf_yes说: yes: one change leads to another, which leads to another, ...(21:36)
fcx123对johnvlissides说: Thanks!(21:36)
lipy对johnvlissides说: Mr. John are you living in China now?(21:36)
babysloth对johnvlissides说: Thanks very much for giving me the permission to translate your column Pattern Hatching into Chinese. Should I send you a electronic version of the second article to you?(21:36)
ansen_chen对babysloth说: hi,I am beginner.GP is generic patter,is right?(21:36)
qingzuozhou对johnvlissides说: with my experiences, useing pattern often make system more complicate and more codes, how avoid that?(21:36)
johnvlissides对beartoy说: replace (some) recursion with iteration. also it might help to increase the VM's heap size(21:37)
babysloth对johnvlissides说: Then you can make it available online?(21:37)
johnvlissides对babysloth说: I'm sure patterns of GP will emerge (that's what I was talking to Krzysztof about)(21:37)
johnvlissides对socceracer说: lots of people have tried to formalize patterns, most notable Amnon Eden (try a Google search)(21:38)
paofan对johnvlissides说: how about culture. IBM join in Linux and Java group, Is it hint the big blue will be more open.(21:38)
babysloth对johnvlissides说: So is "traits" a pattern of GP?(21:38)
johnvlissides对lipy说: nope, I'm in NY (but I'd certainly like to visit China)(21:39)
huangcy对johnvlissides说: Can you tell me what is the typical processes when we use software architecture and design pattern and analysis pattern to analysis and design a software system?(21:39)
johnvlissides对lipy说: my father visited in 1972, right after Nixon!(21:39)
johnvlissides对qingzuozhou说: use patterns only when their benefits outweigh their costs(21:39)
johnvlissides对qingzuozhou说: only you can assess that trade-off(21:39)
johnvlissides对ansen_chen说: correct(21:40)
fcx123对johnvlissides说: Prof. Design Pattern is temppate of OOD solution, "design pattern","analysis pattern" are very hot nowdays. Can you introduce some other pattern in computer world?(21:40)
johnvlissides对babysloth说: please do send it(21:40)
socceracer对johnvlissides说: Thank you.(21:41)
paofan对johnvlissides说: Is Micrsoft and IBM represent two ways.(21:41)
johnvlissides对paofan说: IBM is big into open source(21:41)
lipy对johnvlissides说: I am in a large company named neusoftcorporation,I like to meet you when you come to china.(21:41)
fcx123对johnvlissides说: Sorry, not "temppate" but "template"(21:41)
johnvlissides对babysloth说: yes. I'd call it an idiom, in Jim Coplien's sense(21:41)
babysloth对johnvlissides说: OK. I have to leave now, and I'll see the discussion later.(21:41)
johnvlissides对huangcy说: wow, that's a big question(21:42)
babysloth对johnvlissides说: I really appreicate your help.(21:42)
johnvlissides对huangcy说: I like the way Extreme Programming uses patterns(21:42)
supperapplication对大家说: : Can you tell me what is the typical processes when we use software architecture and design pattern and analysis pattern to analysis and design a software system?(21:42)
lipy对johnvlissides说: I want to write letter to you later,can you be tired of me?(21:42)
thomas_guo对johnvlissides说: Should we think in pattern whiling designing ?(21:42)
johnvlissides对huangcy说: I'll have to defer to the books on that subject(21:42)
frankx对大家说: hi,all(21:43)
johnvlissides对paofan说: not sure what you mean by "represent two ways"(21:43)
fcx123对大家说: Please slowly! :-)(21:43)
huangcy对johnvlissides说: :-), It look some big, I just want some main and critical processes.(21:43)
johnvlissides对lipy说: love to!(21:43)
thomas_guo对johnvlissides说: Sorry.(21:43)
j2me对johnvlissides说: dear john,you said "use patterns only when their benefits outweigh their costs" ,but in which way we can know if it brings more benifit or cost to us?(21:44)
thomas_guo对johnvlissides说: Should we think in pattern whiling designing ?(21:44)
fcx123对大家说: Please ask question one by one! :-)(21:44)
paofan对johnvlissides说: monopolize way and open way(21:44)
huangcy对johnvlissides说: Which of your books talk about this subject?(21:44)
johnvlissides对supperapplication说: a big question(21:44)
johnvlissides对supperapplication说: I like the way Extreme Programming applies patterns(21:44)
johnvlissides对supperapplication说: have to defer to those books...(21:44)
johnvlissides对j2me说: good question(21:45)
johnvlissides对j2me说: I think the key is small iterations of development(21:45)
huangcy对johnvlissides说: thank you. I will wait for your book.(21:45)
johnvlissides对j2me说: you introduce patterns when you find you need the flexibility, not in anticipation of supposed needs(21:46)
lovelybug28对johnvlissides说: John,how do you think of XP?(21:46)
huangcy对johnvlissides说: Can you advise some books about this topic? thank you.(21:46)
johnvlissides对j2me说: if you iterate your builds quickly enough, you'll get the feel for the system quicker and change the design accordingly faster(21:46)
johnvlissides对paofan说: oh, I see(21:47)
johnvlissides对paofan说: well, they're both business out to make money(21:47)
cancan对johnvlissides说: Can you tell me how to use design patterns in ERP System?(21:47)
johnvlissides对paofan说: one has tighter control on the consumer market than the other(21:47)
johnvlissides对paofan说: and one has tighter control on the large-scale commerce market(21:47)
paofan对johnvlissides说: but they can control "hack"(21:47)
sealw对johnvlissides说: I think the core of XP is to coding as soon as possible, then make "patches". What's your oppinion?(21:48)
paofan对johnvlissides说: so IBM will be always "big". but another will die in the future.(21:48)
johnvlissides对huangcy说: if you're into process, check out the Extreme Programming books and also Larman's Applying UML and Patterns book (a new edition is out)(21:48)
huangcy对johnvlissides说: some one think the software architecture as architecture pattern, What's your view about it?(21:49)
johnvlissides对lovelybug28说: I think XP is great, particularly for small-to-midsize projects will ill-defined requirements(21:49)
huangcy对johnvlissides说: thank you, I will .(21:49)
johnvlissides对cancan说: I'm afraid not---not anything specific to ERP systems, anyway(21:50)
johnvlissides对paofan说: "control 'hack'"?(21:50)
sealw对johnvlissides说: Most projects have ill-defined requirement.(21:50)
johnvlissides对sealw说: no, I think the core of XP are the five principles:(21:51)
johnvlissides对sealw说: rapid feedback, assume simplicity, incremental change, embracing change, and quality work(21:51)
paofan对johnvlissides说: yeah,I feel u are doing missionary work.(21:51)
johnvlissides对huangcy说: architectural patterns are part of the basis for software architecture(21:52)
socceracer对johnvlissides说: I always think nothing will come to a precise condition until they are formalized. How do you think about pattern?(21:52)
johnvlissides对huangcy说: they themselves aren't software architecture(21:52)
paofan对johnvlissides说: in pattern way, very open.(21:52)
j2me对johnvlissides说: I think that the most of the benifits that patertns bring to us is appeared during the rebuilding process,right?(21:52)
fcx123对大家说: Slowly,please!(21:52)
johnvlissides对sealw说: actually not; the bigger the project, the better the requirements usually are(21:52)
sealw对johnvlissides说: Yes, you are right. Many programmers in China are misled by RUP...(21:53)
johnvlissides对sealw说: the flight control software for the space shuttle, for example, had very specific requirements(21:53)
pnren对大家说: somepeople say the win2000 is designed specially for going into net,is that true ?(21:54)
huangcy对johnvlissides说: I read some book about software architecture , It just give me some Architecture styles, I think they just is architecture pattern. but as you say, What the software arch(21:54)
johnvlissides对socceracer说: I tend to agree. But you can't formalize until you have enough concrete examples from which to abstract(21:54)
paofan对johnvlissides说: so some innocence people will become believer from "hack".(21:55)
johnvlissides对socceracer说: RUP is good for what it's good for---i.e., bigger projects with a good handle on the requirements(21:55)
johnvlissides对j2me说: you mean "refactoring process"? "Rebuilding" has a different connotation around here right about now...(21:55)
johnvlissides对pnren说: I don't know how valid or relevant that is(21:56)
johnvlissides对pnren说: it's an operating system, after all(21:56)
sealw对johnvlissides说: Yes. In mature industry, requests usually are more specific. But in China, most are amature.(21:56)
johnvlissides对pnren说: is unix any less Net-worthy?(21:56)
socceracer对johnvlissides说: How do you think of the Zed notation?(21:56)
sealw对johnvlissides说: You can seldom meet Field Experts in China. User don't know what they want.(21:57)
pnren对johnvlissides说: no(21:57)
paofan对johnvlissides说: chinese programers can't co-work in a team.(21:58)
johnvlissides对socceracer说: I've never used Z myself, but I've seen it used.(21:58)
johnvlissides对socceracer说: It appears to be one of the most popular logic notations out there.(21:58)
johnvlissides对sealw说: they'll figure out, with time(21:58)
paofan对johnvlissides说: pattern way will change them.(21:58)
huangcy对johnvlissides说: You say architecture patterns arenot software architecture, then What is software architecture? I just think it is the component and connection ,and they setup the system(21:59)
lipy对johnvlissides说: I will go now,I'm glad to meet you tonight.Best regards.(21:59)
johnvlissides对paofan说: why can't chinese programmers cooperate?(21:59)
pnren对johnvlissides说: I am studying Linux on myself now ,I think it is very complex,isn't it ?(21:59)
johnvlissides对pnren说: hey, it's an operating system!(22:00)
johnvlissides对pnren说: pleasure's mine(22:00)
socceracer对大家说: Would you please tell me in which field you find Zed notation is used?(22:00)
johnvlissides对pnren说: oops! that was meant for someone else(22:00)
johnvlissides对lipy说: pleasures mine!(22:00)
sealw对johnvlissides说: Yes. Time will make us grow up.(22:00)
paofan对johnvlissides说: they think "hack" is clever. they destroy something in foolish way.(22:00)
paofan对johnvlissides说: not to build something.(22:01)
pnren对johnvlissides说: yes,my teacher has tole us it is a very popular OS,so i want to study it(22:01)
johnvlissides对socceracer说: I've seen it used to prove typechecking properties and in security applications, particularly cryptography(22:01)
paofan对johnvlissides说: they hit big, because they are small.(22:01)
babysloth对johnvlissides说: I'm back. When will Pattern Hatching 2/e come out? I'm looking forward to it.(22:02)
fcx123对johnvlissides说: Question once more: Can you tell about the differnce of "analysis pattern" and "design pattern"?(22:02)
johnvlissides对sealw说: I was referring to all of us, not just China!(22:02)
johnvlissides对sealw说: software technology is still in its infancy(22:02)
sealw对johnvlissides说: for example?(22:03)
johnvlissides对fcx123说: analysis patterns capture common solutions to recurring domain modeling problems(22:03)
johnvlissides对fcx123说: design patterns capture common solutions to recurring program design problems(22:03)
johnvlissides对fcx123说: I highly recommend studying Linux(22:03)
fcx123对johnvlissides说: great!(22:03)
johnvlissides对fcx123说: haven't thought much about a follow-on to Pattern Hatching(22:04)
johnvlissides对fcx123说: I've thought more about publishing a collection of "compound patterns"(22:04)
paofan对johnvlissides说: Are there some links between patter and linux? ;-)(22:04)
sealw对johnvlissides说: So what shall we study in Linux? And what will we learn?(22:04)
johnvlissides对fcx123说: I wrote a lot about them in my column in C++ Report(22:04)
babysloth对johnvlissides说: So what's "compound ptterns" like? could you please say more about the new book?(22:05)
johnvlissides对sealw说: Look how much time it took for the traditional engineering disciplines to develop (100s or 1000s of years)(22:06)
johnvlissides对sealw说: we've been writing software for, what, 50 years?(22:06)
babysloth对johnvlissides说: How about adding the articles after 1998 of the column to PH 2/e?(22:06)
CIH3对umlchina说: 我看什么哇,看也看不懂,你以后译成中文吗?我实在受不了。(22:06)
sealw对johnvlissides说: It's said the code quality of Linux is not as good as that of FreeBSD.(22:06)
topology对大家说: 坐下来,喝口茶,吃个包。(22:06)
johnvlissides对babysloth说: re: compound patterns, check out the corresponding articles at http://www.research.ibm.com/designpatterns/publications.htm#Articles(22:07)
johnvlissides对babysloth说: it's not a project yet, btw; just an idea(22:07)
sealw对johnvlissides说: Yes. It's the benifits of Open Source software, not only Linux.(22:07)
johnvlissides对paofan说: I don't know enough about Linux internals to point out any patterns(22:08)
johnvlissides对paofan说: but I'm sure they're there(22:08)
CIH3对umlchina说: 88,:)(22:08)
johnvlissides对sealw说: it's always a good idea to study exemplary software(22:09)
johnvlissides对sealw说: it's the fastest way to learn how to write exemplary software yourself(22:09)
johnvlissides对babysloth说: you think like a book author!(22:09)
fcx123对johnvlissides说: We don't know how to create pattern. Can you tell about the exprience that you create those design pattern?(22:09)
j2me对johnvlissides说: we can learn much experience from other engineering fields to improve our software enginerring(22:10)
johnvlissides对sealw说: I don't know their relative quality(22:10)
sealw对johnvlissides说: Yes. I was stunned when I saw you gave so many example system in your book.(22:10)
thomas_guo对johnvlissides说: So Open Source is great.(22:10)
lovelybug28对johnvlissides说: sorry,John,personal question:did you stay in NY on 09/11? and were you near to the WTC on that day?(22:10)
fcx123对大家说: one by one,please!(22:10)
johnvlissides对j2me说: agreed. I'm an electrical engineer by training, with some work experience in civil engineering(22:10)
paofan对大家说: A . W E B S I T E . D E V O T E D . T O . R E B U I L D I N G . T H E . E A R T H http://www.patternlanguage.com/(22:11)
huangcy对johnvlissides说: Is analysis pattern concern of domain analysis?(22:11)
topology对大家说: wo yong ping yin hao le(22:11)
sealw对johnvlissides说: Example is not another way of study. It's the only way.(22:11)
topology对大家说: ke yi ba(22:11)
freespark对大家说: sorry,someone call me.bye(22:11)
topology对大家说: na li you Rational Rose 2001 Download(22:12)
johnvlissides对lovelybug28说: yes, I was in the parking lot of my office when I heard the news(22:12)
babysloth对johnvlissides说: Oh? Um, I'm just a 19-yeah-old student.(22:12)
johnvlissides对lovelybug28说: (we're about 30 miles from ground zero)(22:12)
johnvlissides对paofan说: thanks for the link!(22:12)
babysloth对johnvlissides说: sorry, 19-year-old.(22:13)
topology对大家说: hao xiang mei ren li wo(22:13)
johnvlissides对huangcy说: Certainly!(22:13)
d_jt对大家说: the difference between analysis pattern and design pattern?(22:13)
freeman99对johnvlissides说: Is Rational Rose the best tool for modeling the software's architecture(22:13)
paofan对johnvlissides说: no at all(22:13)
johnvlissides对freespark说: okay, see ya(22:13)
johnvlissides对sealw说: or at least a very good way ;-)(22:13)
windy.j对大家说: since the book 《design pattern(22:14)
johnvlissides对babysloth说: I wouldn't say "just" a 19-year-old student(22:14)
j2me对fcx123说: i think patterns are not created,they are accumulation of the former experience of software developement.(22:14)
fcx123对大家说: Can you give us a few best "design pattern"(URL) resouces?(22:14)
johnvlissides对babysloth说: Keep up the good work that I know you're doing!(22:14)
paofan对johnvlissides说: "The Nature of Order offers a golden thread that connects the innermost center of who we are as humans with the physical environment."(22:15)
paofan对johnvlissides说: This is chinese way.(22:15)
johnvlissides对d_jt说: analysis patterns capture common solutions to recurring problems in domain modeling(22:15)
johnvlissides对d_jt说: design patterns capture common solutions to recurring problems in program design(22:15)
johnvlissides对j2me说: precisely(22:15)
d_jt对johnvlissides说: the difference between analysis pattern and design pattern?please(22:15)
johnvlissides对fcx123说: check out the Patterns Home Page...(22:16)
johnvlissides对fcx123说: http://hillside.net/patterns/(22:16)
goldarcher对umlchina说: Could you keep down the track record of this chat?(22:16)
huangcy对johnvlissides说: but if it is true, the analysis pattern can just be reused in same domain. then the analysis is more connected to domain framework, isn't it?(22:16)
fcx123对johnvlissides说: Thank You very much!(22:16)
johnvlissides对paofan说: yes. Alexander was very much inspired by Chinese culture(22:16)
freeman99对johnvlissides说: Does your book covers J2ee design pattern?(22:17)
paofan对johnvlissides说: thanks, but we don't know, chinese guy.(22:17)
johnvlissides对huangcy说: I'm not sure what a "domain framework" is(22:17)
babysloth对johnvlissides说: Well, there's so much course to take!(22:17)
lovelybug28对johnvlissides说: it's our fortunate you are not attacked.;)(22:17)
d_jt对johnvlissides说: i am familiar with design pattern by your book,can you introduce some analysis pattern books?(22:17)
bluedreamer离开了聊天室.(22:17)
johnvlissides对fcx123说: you're welcome!(22:17)
fcx123对johnvlissides说: Again,We don't know how to create pattern. Can you tell about the exprience that you create those design pattern?(22:18)
johnvlissides对freeman99说: Nope. But there's a new book of patterns for J2EE...(22:18)
j2me对johnvlissides说: maybe we can said XX patterns capture common solutions to recurring problems in XX field:)(22:18)
johnvlissides对freeman99说: http://www.amazon.com/exec/obidos/ASIN/0130648841/qid%3D997452753/104-5101538-2496757(22:18)
johnvlissides对lovelybug28说: I'm very thankful indeed... but many others weren't so blessed(22:19)
windy.j对johnvlissides说: since the book(DP) published,there have been more and more patterns now , could you give us some advice to those patterns learning?(22:19)
johnvlissides对lovelybug28说: the most popular book is Fowler's Analysis Patterns(22:19)
huangcy对johnvlissides说: In my idea, the domain framework is just vertical framework and is reused for the same domain' system.(22:20)
johnvlissides对lovelybug28说: oops, meant that for someone else...(22:20)
johnvlissides对d_jt说: the most popular book is Fowler's Analysis Patterns(22:20)
johnvlissides对d_jt说: http://www.amazon.com/exec/obidos/ASIN/0201895420/qid=1000995590/sr=2-1/ref=sr_2_3_1/104-5101538-2496757(22:20)
socceracer对johnvlissides说: How do you think differences between applying patterns in a more formalized software engineering method (for example: cleanroom) and a less formalized one(XP...)?(22:20)
johnvlissides对j2me说: that's not wrong!(22:20)
freeman99对johnvlissides说: oh.Can the patterns mentioned in your book be well implemented into J2ee Projects?(22:20)
johnvlissides对windy.j说: the best way to learn patterns is to apply them---as needed, not preemptively(22:21)
johnvlissides对windy.j说: finding patterns is another matter(22:21)
johnvlissides对windy.j说: a help there is The Pattern Almanac(22:22)
johnvlissides对windy.j说: http://www.amazon.com/exec/obidos/ASIN/0201615673/qid%3D960385247/104-5101538-2496757(22:22)
johnvlissides对huangcy说: okay...(22:22)
d_jt对johnvlissides说: i have a problem in using stl.complex
a ;i declare.but i want this kind of operation a+=complex.stl can't do it?how ?(22:22)
lovelybug28对johnvlissides说: John,what language do you mostly use? C++,java,or others?(22:22)
johnvlissides对socceracer说: the bigger the project, the more formality you need(22:22)
johnvlissides对socceracer说: bigger projects tend to have better-known requirements, too(22:23)
johnvlissides对freeman99说: surely; see http://www.amazon.com/exec/obidos/ASIN/0130648841/qid%3D997452753/104-5101538-2496757(22:23)
d_jt对johnvlissides说: i use state pattern+ singleton pattern.but not fit very well(22:23)
pega对大家说: exit now(22:24)
windy.j对johnvlissides说: Thanks a lot!(22:24)
fcx123对johnvlissides说: Can you tell about User Interface Design Pattern?(22:24)
johnvlissides对d_jt说: I'm afraid I'm not an STL expert. I don't use C++ anymore, (slightly) sorry to say(22:24)
huangcy对johnvlissides说: so , my problem is How can analysis pattern make itself reuse?(22:24)
johnvlissides对lovelybug28说: Java, by far---although I'm not doing heavy-duty programming these days(22:24)
johnvlissides对lovelybug28说: I'm getting old, I guess(22:24)
d_jt对johnvlissides说: then how do you solve this problem in dp?(22:25)
freeman99对johnvlissides说: How can I design distributed applications? Little book has covered that topic.(22:25)
socceracer对johnvlissides说: Can you give us your home page address?(22:25)
johnvlissides对pega说: bye, pega(22:25)
johnvlissides对windy.j说: welcome!(22:25)
johnvlissides对fcx123说: very interesting area. Jenifer Tidwell at MIT has been doing a lot of that work(22:26)
johnvlissides对fcx123说: look for her on Google(22:26)
babysloth对johnvlissides说: Well, everyone is getting old.(22:26)
johnvlissides对d_jt说: it if don't fit, then don't use it!(22:26)
fcx123对johnvlissides说: Great!(22:26)
huangcy对johnvlissides说: yeah, more framework and design pattern is about UI design.(22:27)
johnvlissides对huangcy说: like any other patterns, analysis patterns won't guarantee reuse. Analysis patterns in particular won't guarantee code reuse(22:27)
johnvlissides对huangcy说: but they may save you having to reinvent a domain model or two(22:27)
lovelybug28对johnvlissides说: how old are you,John. but you have powerful thought in programing.(22:27)
d_jt对johnvlissides说: what's the latest evolve in dp?(22:28)
johnvlissides对大家说: all: My home page is at http://www.research.ibm.com/people/v/vlis/(22:28)
windy.j对johnvlissides说: excuse me,do you also know much about analysis patterns?(22:28)
huangcy对johnvlissides说: I think analysis pattern just for analysis reuse, I think it came from domain analysis, Isn't it?(22:28)
johnvlissides对lovelybug28说: I just turned 40 on 2 August!(22:28)
fcx123对johnvlissides说: Can you tell about the expriences that you create those design pattern?(22:29)
babysloth对johnvlissides说: how can we tell idioms from patterns?(22:29)
johnvlissides对d_jt说: well, people are coming up with new patterns and pattern languages all the time(22:29)
socceracer对johnvlissides说: Thank you, John.(22:29)
johnvlissides对d_jt说: PLoP 2001 just took place (9/11 was the first day :-((22:29)
johnvlissides对babysloth说: idioms are simple patterns that are specific to a programming language(22:30)
huangcy对johnvlissides说: i think so too, analysis pattern accelerate the domain modeling.(22:30)
johnvlissides对babysloth说: they teach you how to use a particular language like an expert; they help make you "fluent"(22:30)
paofan对大家说: Had u meet with Chirstopher Alexander.(22:30)
d_jt对johnvlissides说: i think the core part of dp is composition and virtual inherit,do you agree?(22:30)
johnvlissides对socceracer说: welcome!(22:30)
johnvlissides对paofan说: I met Alexander at OOPSLA '96(22:31)
johnvlissides对d_jt说: no, I'm afraid I don't agree(22:32)
johnvlissides对d_jt说: I guess it depends on what you mean by "core part"(22:32)
johnvlissides对d_jt说: virtual inheritance is too C++-specific(22:32)
johnvlissides对d_jt说: composition is an important part, as is delegation(22:32)
socceracer对johnvlissides说: I have just see your photo. The baby must be your son; he is very lovely.(22:32)
d_jt对johnvlissides说: i mean the tech part that pattern use(22:32)
huangcy对johnvlissides说: again,I think analysis pattern just for analysis reuse, I think it came from domain analysis, Isn't it?(22:32)
johnvlissides对d_jt说: but all these things are about implementation(22:32)
johnvlissides对d_jt说: patterns are equally about describing problems(22:33)
johnvlissides对d_jt说: the biggest problem people face is they don't know what problems have been solved before(22:33)
johnvlissides对socceracer说: thank you! He's nearly 8 years old now.(22:33)
paofan对johnvlissides说: a long time ago.(22:34)
johnvlissides对huangcy说: yes, that's right(22:34)
d_jt对johnvlissides说: that means pattern relate to question only?(22:34)
niwalker对大家说: hi, everyone(22:34)
johnvlissides对paofan说: yes. It was a privilege to meet him.(22:35)
zhiqiuleaves进入聊天室.(22:35)
johnvlissides对niwalker说: hi!(22:35)
paofan对johnvlissides说: i am very excite today. the internet make my dream realize. meet u, Mr Jone.(22:36)
johnvlissides对niwalker说: no, they don't relate just to questions(22:36)
johnvlissides对niwalker说: patterns have several benefits:(22:36)
johnvlissides对niwalker说: they exposit proven solutions to recurring problems(22:36)
d_jt对johnvlissides说: what else then?(22:36)
johnvlissides对niwalker说: their names form a vocabulary(22:36)
johnvlissides对niwalker说: they provide targets for refactoring(22:36)
huangcy对johnvlissides说: Nice to talk with you, but i must go, thank you for that you can spend your critical time on talking with us.(22:37)
johnvlissides对niwalker说: and they can validate approaches you're unsure of(22:37)
johnvlissides对niwalker说: oops! all that was meant for someone else. Sorry!(22:37)
johnvlissides对d_jt说: patterns have several benefits:(22:38)
johnvlissides对d_jt说: they exposit proven solutions to recurring problems(22:38)
d_jt对johnvlissides说: please(22:38)
johnvlissides对d_jt说: their names form a vocabulary for discussion(22:38)
johnvlissides对d_jt说: they provide targets for refactoring(22:38)
johnvlissides对d_jt说: and they can validate approaches you're unsure of(22:38)
johnvlissides对huangcy说: my pleasure!(22:38)
niwalker对大家说: i like DPB, John, did u write new version of this book?(22:39)
johnvlissides对paofan说: A pleasure meeting you, paofan. Isn't technology (mostly) wonderful?(22:39)
johnvlissides对niwalker说: hmm, not sure which book you mean.(22:40)
paofan对johnvlissides说: yeah! and tomorrow, I will meet SUN's Scott McNealy in Shanghai city.(22:40)
d_jt对johnvlissides说: please explain refactoring(22:40)
johnvlissides对paofan说: whoa!(22:40)
niwalker对大家说: i mean Desing Patterns(22:40)
johnvlissides对paofan说: refactoring is the art of changing code incrementally to make it better without changing its function(22:41)
johnvlissides对niwalker说: we've been working on a 2nd edition for years. No estimated time of arrival, I'm afraid.(22:41)
paofan对johnvlissides说: re-build a java centre in china.(22:41)
niwalker对大家说: i c, thanks(22:42)
johnvlissides对paofan说: why is it being rebuilt? What happened to the original?(22:42)
d_jt对johnvlissides说: interface?alike?(22:43)
johnvlissides对d_jt说: oops, I responded to the wrong person.(22:44)
umlchina对johnvlissides说: Talk something private? as you son Matthaw, and erich gamma...(22:44)
johnvlissides对d_jt说: refactoring is the art of changing code incrementally to make it better without changing its function(22:44)
paofan对johnvlissides说: fail for lots of reason. The most important, there are no enough java human resource in shanghai.(22:45)
johnvlissides对umlchina说: Do you want me to broadcast something about my son and Erich?(22:45)
niwalker对大家说: i have chinese edit Design Patterns, can u tell me where can i get English ?(22:45)
johnvlissides对paofan说: ...and the rest of the world, for that matter!(22:45)
umlchina对johnvlissides说: up to you. we are your fans(22:45)
d_jt对johnvlissides说: i know,thank you(22:45)
johnvlissides对niwalker说: Try http://www.amazon.com/exec/obidos/ASIN/0201633612/104-5101538-2496757(22:46)
umlchina对johnvlissides说: and have interest...(22:46)
paofan对johnvlissides说: haha(22:46)
nix00000对johnvlissides说: Can you explain the refactoring more detaily?(22:46)
johnvlissides对大家说: umlchina suggests I talk about Erich Gamma---nice things, of course :-)(22:46)
niwalker对johnvlissides说: ok, i'll try, thx John(22:47)
johnvlissides对nix00000说: refactoring is the art of changing code incrementally to make it better without changing its function(22:47)
d_jt对johnvlissides说: go on please(22:47)
johnvlissides对大家说: Erich is from Switzerland, but he looks Italian.(22:48)
johnvlissides对大家说: There's a photo of us at http://www.research.ibm.com/designpatterns/pubs/ddj-eip-award.htm(22:49)
socceracer对johnvlissides说: I must go now. Bye, John. Best wishes for you and your family!(22:50)
johnvlissides对大家说: (we're a bit younger then)(22:50)
d_jt对johnvlissides说: can you give us some advice in domain of software?(22:50)
johnvlissides对socceracer说: thanks, socceracer. nice talking to you!(22:50)
fcx123对johnvlissides说: Professor,would you please tell about the direction of OBJECT-ORIENTED.(22:51)
johnvlissides对d_jt说: Fowler's book on the subject catalogs a few dozen refactorings you can apply to your code immediately to improve its structure and readability(22:51)
nix00000对johnvlissides说: which one is you in the photo?(22:52)
johnvlissides对大家说: see the caption (I'm 3rd from left)(22:52)
johnvlissides对nix00000说: see the caption (I'm 3rd from left)(22:53)
johnvlissides对d_jt说: what kind of advice?(22:53)
johnvlissides对d_jt说: (your question is very general)(22:53)
johnvlissides对d_jt说: here's some general advice:(22:53)
johnvlissides对d_jt说: fear complexity(22:54)
d_jt对johnvlissides说: success experience about you(22:54)
nix00000对johnvlissides说: Can you say something about the interface?(22:54)
johnvlissides对d_jt说: seek good abstractions, but only where you're sure they'll help(22:54)
paofan对johnvlissides说: James Gosling is also a pattern chiliast?(22:55)
d_jt对johnvlissides说: good mustache you have.(22:55)
johnvlissides对d_jt说: avoid premature optimization; optimize algorithms first, then program structure, then statements-level(22:55)
johnvlissides对d_jt说: optimization must be driven by objective means (e.g., profiling at the statement level)(22:56)
j2me对johnvlissides说: i must go now, thank you ,bye:)(22:56)
johnvlissides对d_jt说: read as much code as you can(22:56)
windy.j对johnvlissides说: :) Did you four see the later hot selling when you wrote the book?(22:56)
johnvlissides对d_jt说: how much code you write isn't as important as how much code you throw away(22:56)
johnvlissides对d_jt说: (I can go on all day!)(22:56)
johnvlissides对d_jt说: my pleasure, j2me!(22:57)
d_jt对johnvlissides说: thanks(22:57)
lovelybug28对johnvlissides说: John,you r the fourth from left!!!(22:57)
johnvlissides对j2me说: my pleasure, j2me!(22:57)
johnvlissides对d_jt说: oops! that last message was meant for someone else(22:57)
fcx123对johnvlissides说: Professor, Still so many people! Is it your lunch time or stay ten minutes more?(22:57)
johnvlissides对lovelybug28说: oops! you're right!(22:57)
johnvlissides对大家说: lovelybug28 points out that I'm fourth from the left in the photo(22:58)
johnvlissides对大家说: silly me!(22:58)
lovelybug28对johnvlissides说: :)(22:58)
johnvlissides对大家说: (thanks, lovelybug28)(22:58)
nix00000对johnvlissides说: you have a wonderful smile,:-)(22:59)
johnvlissides对fcx123说: I'm happy to stay on for another 10 minutes or so(22:59)
johnvlissides对fcx123说: this is great fun!(22:59)
d_jt对johnvlissides说: much younger than the 3rd one(22:59)
umlchina对johnvlissides说: the most handsome one in the photo(22:59)
fcx123对大家说: last one minutes! you can ask only one question! :-)(23:00)
johnvlissides对大家说: Maybe it was a Freudian slip---just me wanting to be Erich! :-) :-)(23:00)
johnvlissides对umlchina说: c'mon now!(23:00)
johnvlissides对nix00000说: thanks! you guys are too much!(23:00)
paofan对johnvlissides说: thanks! Mr. jhon, welcom to china.(23:01)
babysloth对johnvlissides说: An excellent lesson from you! Thanks!!!(23:01)
fcx123对johnvlissides说: Thank you very much! We all hope to read your new book soon! :-)(23:02)
johnvlissides对paofan说: thank you, paofan.(23:02)
d_jt对johnvlissides说: when'll you come to china?(23:02)
johnvlissides对fcx123说: me too! ;-)(23:02)
paofan对johnvlissides说: U a great.(23:02)
nix00000对johnvlissides说: Professor, Can you say some things about interface, (my last question)(23:02)
babysloth对johnvlissides说: Looking forward to your new book(23:02)
johnvlissides对d_jt说: Alas, no plans anytime soon. I'll be happy to make it to OOPSLA in Tampa, Florida, next month.(23:02)
d_jt对johnvlissides说: new book should have some good example(23:03)
johnvlissides对nix00000说: Interfaces are critical to system design, but they can slow you down if they're frozen too early.(23:03)
d_jt对johnvlissides说: i hate the maze(23:03)
johnvlissides对nix00000说: In fact, interface evolution is an important area of research. In case you're interested. ;-)(23:03)
lovelybug28对johnvlissides说: nice to chat with you. thank you, John.(23:04)
johnvlissides对d_jt说: Agreed. The maze wasn't my idea.(23:04)
johnvlissides对lovelybug28说: and thank you, especially for all the kind words!(23:04)
babysloth对johnvlissides说: Good books should be much thicker, so will your new books be, I hope:-)(23:04)
nix00000对johnvlissides说: Thank you professor, I think I have got something!(23:05)
johnvlissides对d_jt说: btw, if you'd like a preview of the examples we'll be using, to a Google search on JUnit, or go to junit.org(23:05)
d_jt对johnvlissides说: i think interface is better used in group communication(23:05)
johnvlissides对babysloth说: then Pattern Hatching must be dreadful! :-)(23:06)
johnvlissides对babysloth说: seriously, thickness is no indicator of quality(23:06)
johnvlissides对d_jt说: actually, I don't find myself discussing design in terms of interfaces---except for their names, of course(23:07)
fcx123对johnvlissides说: Ok. Time is up! Let us Thanks Professor. and we will welcome Professor to China!(23:07)
babysloth对johnvlissides说: I hope it can be as thick as C++ Primer:-)(23:07)
d_jt对johnvlissides说: thank you very much(23:07)
paofan对johnvlissides说: bible is also dreadful, but it is great.(23:07)
johnvlissides对大家说: Okay, I'm being dragged out. My heartfelt thanks to everyone!(23:07)
umlchina对johnvlissides说: Thank you, john(23:07)
babysloth对johnvlissides说: Thanks again!!!(23:08)
umlchina对johnvlissides说: Good lunch(23:08)
paofan对johnvlissides说: thank you for your book and your chat.(23:08)
fcx123对johnvlissides说: Good Bye,Professor johnvlissides!(23:08)
windy.j对johnvlissides说: :) n(23:08)
johnvlissides对大家说: Thanks again for everything. Will you make a transcript available?(23:08)
nix00000对johnvlissides说: THANK YOU AGAIN, professor!(23:09)
d_jt对johnvlissides说: email?(23:09)
umlchina对johnvlissides说: Exit button on Right-bottom.(23:09)
johnvlissides对umlchina说: Thanks again for everything. Will you make a transcript available?(23:09)
niwalker对johnvlissides说: Bye, John, we all hope see u again(23:09)
umlchina对johnvlissides说: Yes, of course with record(23:10)
johnvlissides离开了聊天室.(23:10)
leeyg对umlchina说: first time come in your chat room, very good.(23:11)
niwalker对umlchina说: umlchina, what is next?(23:12)
umlchina对大家说: oK!谢谢大家,大家可以留下来交流,如果还不困的话(23:12)
umlchina对niwalker说: alan cooper, 27th(23:12)
umlchina对niwalker说: And then martin fowler at Oct(23:13)
d_jt对大家说: umlchina ,how can you make it(23:13)
d_jt对大家说: it is wonderful(23:14)
niwalker对umlchina说: very great,(23:14)
d_jt对大家说: 能够用中文就好了(23:14)
babysloth对大家说: umlchina是think吗?(23:15)
umlchina对d_jt说: Just do it, 但,其实并不容易(23:15)
niwalker对umlchina说: can we not say english now :)(23:15)
d_jt对大家说: 告诉我们吧,让我们也崇拜一下你(23:15)
umlchina对d_jt说: 问题是:用中文的现在还不是很牛--过几十年就好了(23:15)
umlchina对d_jt说: 大家高兴就好(23:16)
umlchina对babysloth说: 是啊(23:16)
umlchina对大家说: 希望大家一起努力,20年后,人家请我们去纽约指点迷津(23:17)
d_jt对大家说: babysloth,为什么老是私下谈话?(23:17)
babysloth对大家说: 啊,真的是久仰久仰啊,透明跟我说了好多次了。(23:17)
niwalker对umlchina说: 我想知道,小组平常还有一些什么活动?(23:17)
babysloth对大家说: d_jt,没有啊?(23:17)
d_jt对大家说: 别是印度人来给我们讲课(23:17)
d_jt对大家说: babysloth,你问john的问题我没有见到(23:18)
babysloth对大家说: 不服印度人,只服美国人么?(23:18)
d_jt对大家说: 印度可是与中国同时发展软件的(23:18)
babysloth对大家说: d_jt,我后来就没有问john了。我只在开头问了些。(23:18)
d_jt对大家说: 老美已经好多年了(23:18)
niwalker对umlchina说: 我希望不需要那么长时间(23:19)
babysloth对大家说: 同时也不代表水平就差不多吧?没办法,别人可以用英语作母语,我们不行。(23:19)
babysloth对大家说: 哇,babymouth!同胞,同胞!(23:20)
niwalker对umlchina说: 大家多努力吧(23:20)
babymouth对大家说: hehe(23:20)
d_jt对大家说: 印度软件多是管理系统(23:20)
d_jt对大家说: 我想还是中国有希望,关键是体制(23:20)
babysloth对大家说: umlchina,透明邀请我什么时候一起来敲诈您一顿饭,可以吗?(23:21)
babymouth毛手毛脚地对大家说: 不过印度的软件从业人员也挺参,没有成就感(23:21)
d_jt对大家说: 我们的软件头一版都很有创意,但是没有资金发展2,3,4,5。。。(23:21)
d_jt对大家说: umlchina你在哪呢(23:22)
babymouth满脸奸笑着对大家说: 不光是这个问题(23:22)
babymouth满脸奸笑着对大家说: 关键是我们能不能脚踏实地的去做(23:22)
babysloth对大家说: 是吗?中国的软件恐怕技术就问题多多,Exception-Safe、OCP、LSP……恐怕都没多少人考虑吧?(23:22)
babymouth满脸奸笑着对大家说: 现在的公司都太急功尽利(23:22)
d_jt对大家说: 不是的,盗版把软件公司都搞跨了,(23:23)
niwalker对大家说: 你们是不是能找一找UML的缺陷,然后加以改进呢?(23:23)
d_jt对大家说: 没有钱发给技术人员,关键人员跳槽也就没有后续版本了(23:23)
babymouth满脸奸笑着对大家说: 盗版只是一个方面(23:23)
d_jt对大家说: 改进uml,搞错了没有,那要有很多很多实践经验,不能用理论推理(23:24)
niwalker对大家说: 所以,现在只有老美在做它:((23:25)
d_jt对大家说: 困了,拜了,安了(23:25)
babymouth满脸奸笑着对大家说: 我就想不通,一些很有规模的软件公司怎么不能实实在在地为软件行业作些贡献呢??(23:26)
niwalker对umlchina说: 还在吗?(23:26)
咖啡鱼对大家说: http://ad.chinahr.com/t10jobs.asp?ContractID=12000110356(23:26)
niwalker对umlchina说: 现在的软件公司,生存要紧,那有时间总结经验(23:27)
咖啡鱼对babymouth说: http://ad.chinahr.com/t10jobs.asp?ContractID=12000110356(23:27)
babymouth满脸奸笑着对大家说: 大公司呢?(23:28)
babymouth满脸奸笑着对大家说: 我门公司很小,可一直坚持作,但是根本没有精力去探索(23:29)
niwalker对umlchina说: 咖啡鱼,这是什么网页?(23:29)
babymouth满脸奸笑着对大家说: 所以学来的都是皮毛(23:29)
babymouth满脸奸笑着对大家说: 急呀(23:29)
babymouth满脸奸笑着对大家说: 急(23:29)
niwalker对umlchina说: 我用UML做项目,总是做到一半。(23:30)
babysloth对大家说: 所以还是从基础技术搞起好,比如我们做的C++ View电子杂志。(23:30)
niwalker对umlchina说: 我是MS fun :)(23:32)
标签: