UMLChina第九期嘉宾聊天实录--John Vlissides





嘉宾:John Vlissides,《设计模式》的四位作者之一,并著有另一本畅销书“Pattern Hatching”。现为IBM研究中心研究员。研究领域:面向对象软件设计工具和技术、设计模式、应用架构、界面设计...

Gang of Four (GoF)Greetings! I'm John, and this is my son Matthew. (John's the cute one with glasses.)

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

babysloth对大家说: Pattern Hatching不错,C++ View上正在连载。(20:29)

umlchina对大家说: Please set your color in BLACK when you talk to each other(20:30)

umlchina对大家说: In BLUE when asking question(20:31)

huangcy对大家说: hello, when do we begin the talk?(20:40)


feng98对大家说: Hi(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)

johnvlissides对babysloth说: try sending to

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)

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对babysloth说: send me e-mail at requesting it(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)

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)

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)

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)

johnvlissides对lipy说: send me e-mail about it:

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 <pattern hatching >,but i read <design patterns..>, What is the main topic of <pattern hatching>?(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 <<Design pattern>>.(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对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 (

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)

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)

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)

johnvlissides对fcx123说: check out IBM's Design Patterns page

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)

sealw对johnvlissides说: It's said the code quality of Linux is not as good as that of FreeBSD.(22:06)

johnvlissides对babysloth说: re: compound patterns, check out the corresponding articles at

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)

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

huangcy对johnvlissides说: Is analysis pattern concern of domain analysis?(22:11)

sealw对johnvlissides说: Example is not another way of study. It's the only way.(22:11)

freespark对大家说: sorry,someone call me.bye(22:11)

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)

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)


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)

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对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)


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对huangcy说: okay...(22:22)

d_jt对johnvlissides说: i have a problem in using stl.complex<int> 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

d_jt对johnvlissides说: i use state pattern+ singleton pattern.but not fit very well(22:23)

pega对大家说: bye all(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

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)

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

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

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

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)



目 录 序言 前言 读者指南 第1章 引言 1 1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象接口 9 1.6.4 描述对象的实现 10 1.6.5 运用复用机制 13 1.6.6 关联运行时刻和编译时刻的 结构 15 1.6.7 设计应支持变化 16 1.7 怎样选择设计模式 19 1.8 怎样使用设计模式 20 第2章 实例研究:设计一个文档编 辑器 22 2.1 设计问题 23 2.2 文档结构 23 2.2.1 递归组合 24 2.2.2 图元 25 2.2.3 组合模式 27 2.3 格式化 27 2.3.1 封装格式化算法 27 2.3.2 Compositor和Composition 27 2.3.3 策略模式 29 2.4 修饰用户界面 29 2.4.1 透明围栏 29 2.4.2 Monoglyph 30 2.4.3 Decorator 模式 32 2.5 支持多种视感标准 32 2.5.1 对象创建的抽象 32 2.5.2 工厂类和产品类 33 2.5.3 Abstract Factory模式 35 2.6 支持多种窗口系统 35 2.6.1 我们是否可以使用Abstract Factory 模式 35 2.6.2 封装实现依赖关系 35 2.6.3 Window和WindowImp 37 2.6.4 Bridge 模式 40 2.7 用户操作 40 2.7.1 封装一个请求 41 2.7.2 Command 类及其子类 41 2.7.3 撤消和重做 42 2.7.4 命令历史记录 42 2.7.5 Command 模式 44 2.8 拼写检查和断字处理 44 2.8.1 访问分散的信息 44 2.8.2 封装访问和遍历 45 2.8.3 Iterator类及其子类 46 2.8.4 Iterator模式 48 2.8.5 遍历和遍历过程中的动作 48 2.8.6 封装分析 48 2.8.7 Visitor 类及其子类 51 2.8.8 Visitor 模式 52 2.9 小结 53 第3章 创建型模式 54 3.1 Abstract Factory(抽象工厂)— 对象创建型模式 57 3.2 Builder(生成器)—对象创建型 模式 63 3.3 Factory Method(工厂方法)— 对象创建型模式 70 3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 创建型模式的讨论 89 第4章 结构型模式 91 4.1 Adapter(适配器)—类对象结构型 模式 92 4.2 Bridge(桥接)—对象结构型 模式 100 4.3 Composite(组成)—对象结构型 模式 107 4.4 Decorator(装饰)—对象结构型 模式 115 4.5 FACADE(外观)—对象结构型 模式 121 4.6 Flyweight(享元)—对象结构型 模式 128 4.7 Proxy(代理)—对象结构型 模式 137 4.8 结构型模式的讨论 144 4.8.1 Adapter与Bridge 144 4.8.2 Composite、Decorator与Proxy 145 第5章 行为模式 147 5.1 CHAIN OF RESPONSIBIL ITY(职责链) —对象行为型模式 147 5.2 COMMAND(命令)—对象行为型 模式 154 5.3 INTERPRETER(解释器)—类行为型 模式 162 5.4 ITERATOR(迭代器)—对象行为型 模式 171 5.5 MEDIATOR(中介者)—对象行为型 模式 181 5.6 MEMENTO(备忘录)—对象行为型 模式 188 5.7 OBSERVER(观察者)—对象行为型 模式 194 5.8 STATE(状态)—对象行为型模式 201 5.9 STRATEGY(策略)—对象行为型 模式 208 5.10 TEMPLATE METHOD(模板方法) —类行为型模式 214 5.11 VISIT


  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页




¥2 ¥4 ¥6 ¥10 ¥20
余额支付 (余额:-- )



钱包余额 0