Search the web
Sign In
New User? Sign Up
wingding · Wing Ding Design Pattern
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Show off your group to the world. Share a photo of your group with us.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Messages 1 - 30 of 1313   Newest  |  < Newer  |  Older >  |  Oldest
Messages: Show Message Summaries   (Group by Topic) Sort by Date v  
#30 From: Jason Osgood <josgood@...>
Date: Thu May 13, 1999 4:52 am
Subject: Re: What Books are you reading?
josgood@...
Send Email Send Email
 
> So Jason what books are on you current reading list.

Okay.

The following are the books which I'm currently reading.  This does not
include the books in the adjacent stacks, which I haven't cracked yet.

"Java Swing" by Eckstein, Lay, Wood; O'Reilly

	 Decent book.


"BUGS in Writing" by Lyn Dupre; Addison/Wesley

	 BUGS is an acrynonym for "bad, ugly, good, splendid".  Pretty good
	 book to read if you want improve your writing skills.  Gets lots of
	 positive reviews.


"The Unified Software Development Process" by Jacobson et al;
Addison/Wesley

	 I'm determined to finish this book.  Call me Hercules.


"Object-Oriented Development: The Fusion Method" by Coleman et al; Prentice
Hall

	 Fusion was created at HP.  As a 2nd generation methodology,
	 it's a synthesis of 1st generation stuff (Booch, OMT, CRC
	 Cards, Objectory).  The emphasis is on well defined deliverables
	 which can be tested.  Lightweight compared to Rational's Unified
	 Process.  I intend to use Fusion on two projects I'm currently
	 working on.


"Journey of the Software Professional" by Hohmann; Prentice Hall

	 Read this book.  First few chapters are dense; they introduce you
	 to a theory of problem solving.  The rest of the book covers how
	 people and teams work.  Again, read this book to gain insights
	 on project management, team organization, and personal growth.


"Software Architecture in Practice" by Bass et al; Addison Wesley

	 I couldn't possibly summarize this book.  The best I can do is
	 say that it talks about software "in-the-large".  Topics covered
	 are structure, analysis, style, quality, reviews, description
	 languages, etc.  I've read about half the chapters (jumping
	 around) and can't claim that I've assimilated the knowledge yet.
	 But I can say it's a good book.  Very likely something I'll
	 have to read again in two years.  Kind of like "Design Patterns".


"Rapid Development" by McConnell; Microsoft Press

	 "Code Complete" is one of my all time favorite software engineering
	 texts.  I really value the accessibility of McConnell's writing style.
	 As for project management, leading teams, and so forth, "Rapid
	 Development" is to "Journey of the Software Professional" what
	 "The Prince" (by Machivelli) is to "The Art of War" (by Sun Tzu).
	 Kind of like the difference between a How To guide and the
	 philosophy which explains it all.


"Software Architecture : Perspectives on an Emerging Discipline" by Shaw,
Garlan; Prentice Hall

	 I have to admit, this one is gathering dust.  If something can be
	 explained in 10 words, this book uses 40.  Definitely written by
	 academics for academics.  Even so, I'm determined to eventually
	 finish this one.


Cheers, Jason








------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/wingding
http://www.eGroups.com - Simplifying group communications

#29 From: "Lance B. Young" <lby@...>
Date: Thu May 13, 1999 12:25 am
Subject: Re: What Books are you reading? Object Oriented Design
lby@...
Send Email Send Email
 
So Jason what books are on you current reading list.  I'll tell you mine if you tell me yours.

For Process (they each mention Java several times) I am reading:

Applying UML and Patterns by Craig Larman

It's an excellent run through of a practical process, with UseCases, modeling and Patterns.
 

Objects, Components, and Frameworks with UML: The Catalysis Approach by Desmond D’Souza

This one goes into implementation details and low-level design of components along with a process.

You can get this one in .pdf format for free from:
http://www.iconcomp.com/catalysis/catalysis-book/index.htm
 

Java Specific Books include:

Java Design Second Edition by Peter Code
 

Patterns Books on the shelf (which should we study next?):
Pattern Oriented Software Architecture : A System of Patterns by Buschmann, et al

Analysis Patterns by Martin Fowler

Concurrent Programming in Java : Design Principles and Patterns by Doug Lee

Second Edition is not due out until Feb 2000 :(.
 

I missed a few like- Object-Oriented Software Construction, second edition by Bertrand Meyer- but this covers the basics.

What about you?
 

See you soon,
Lance

Jason Osgood wrote:

 
Hi Billy-


[I cc'd the WingDing list.  See below.  I hope you don't mind.]


> I recently read one of your reviews at amazon.com. Thanks 
> for saving me some $.

Glad to help! <grin>


> Do you know of an object oriented design book 
> (preferably based on java) that would teach me
> sound OOD and OOP?

I don't have any recommendations for learning OOA/D, particularly based
on Java.  Mostly because I don't buy entry level books any more.  But
also because it's hard to figure out what people are talking about.  An
analogy: Mention "security requirements" and everyone has a different
notion about what "security" is.  They're all right, of course.  But
until two people can talk about security, they have agree on precisely
what they're talking about.

I'm currently reading a bunch of books on methodology, process, and
architecture.  Everyone's got a different idea about how to do
architecture and design.  And that's good, because there's so many
different types of problems, so we need many types of solutions. [*]
But there's certainly no one "rigth answer" to OOA/D.  And I certainly
don't have well formed opinions about the relative merits of all the
methods, processes, and theories.

Having said all that, I strongly recommend two books to all software
engineering types: "Design Patterns" by Gamma et al and
"Object-Oriented Design Heuristics" by Arthur Riel.  I most most other
patterns books.  I particularly like the PLoP books and
"Pattern-Oriented Software Architecture".

If you're trying to learn Java or OO basics, I encourage you to join
either the Seattle Java User Group list server (visit www.seajug.org)
and/or the Wing Ding Design Pattern study group list serve (visit
www.egroups.com/list/wingding).  People are generally quite helpful.


Cheers, Jason


PS- Grady Booch told me of his interest to extend Mary Shaw's work on
classifying methods and processes into a "taxonomy".  With such a tool,
us mortals can hope to make sense of it all.  I take great comfort
knowing the issue has been noticed by the big brains and is being
addressed. <grin>
_________________________________________________________
Do You Yahoo!?
Free instant messaging and more at http://messenger.yahoo.com

click here
Click Here!
eGroup home: http://www.eGroups.com/group/wingding
www.eGroups.com - Simplifying group communications

eGroup home: http://www.eGroups.com/group/wingding
www.eGroups.com - Simplifying group communications

#28 From: Jason Osgood <mrosgood@...>
Date: Wed May 12, 1999 8:19 pm
Subject: Re: Object Oriented Design
mrosgood@...
Send Email Send Email
 
Hi Billy-


[I cc'd the WingDing list.  See below.  I hope you don't mind.]


> I recently read one of your reviews at amazon.com. Thanks
> for saving me some $.

Glad to help! <grin>


> Do you know of an object oriented design book
> (preferably based on java) that would teach me
> sound OOD and OOP?

I don't have any recommendations for learning OOA/D, particularly based
on Java.  Mostly because I don't buy entry level books any more.  But
also because it's hard to figure out what people are talking about.  An
analogy: Mention "security requirements" and everyone has a different
notion about what "security" is.  They're all right, of course.  But
until two people can talk about security, they have agree on precisely
what they're talking about.

I'm currently reading a bunch of books on methodology, process, and
architecture.  Everyone's got a different idea about how to do
architecture and design.  And that's good, because there's so many
different types of problems, so we need many types of solutions. [*]
But there's certainly no one "rigth answer" to OOA/D.  And I certainly
don't have well formed opinions about the relative merits of all the
methods, processes, and theories.

Having said all that, I strongly recommend two books to all software
engineering types: "Design Patterns" by Gamma et al and
"Object-Oriented Design Heuristics" by Arthur Riel.  I most most other
patterns books.  I particularly like the PLoP books and
"Pattern-Oriented Software Architecture".

If you're trying to learn Java or OO basics, I encourage you to join
either the Seattle Java User Group list server (visit www.seajug.org)
and/or the Wing Ding Design Pattern study group list serve (visit
www.egroups.com/list/wingding).  People are generally quite helpful.


Cheers, Jason


PS- Grady Booch told me of his interest to extend Mary Shaw's work on
classifying methods and processes into a "taxonomy".  With such a tool,
us mortals can hope to make sense of it all.  I take great comfort
knowing the issue has been noticed by the big brains and is being
addressed. <grin>
_________________________________________________________
Do You Yahoo!?
Free instant messaging and more at http://messenger.yahoo.com

------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/wingding
http://www.eGroups.com - Simplifying group communications

#27 From: alevin-delson@...
Date: Wed May 12, 1999 5:51 pm
Subject: Re: Adam Got A Ride (was Request for lift to Bothell after 5/12 Seattle WingDing)
alevin-delson@...
Send Email Send Email
 
Hey, I got a ride; see you all tonight!
(Thanks, Angel!)
Adam


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/wingding
http://www.eGroups.com - Simplifying group communications

#26 From: alevin-delson@...
Date: Wed May 12, 1999 5:38 pm
Subject: Request for lift to Bothell after 5/12 Seattle WingDing
alevin-delson@...
Send Email Send Email
 
Would anyone who will be attending tonight's Design Pattern discussion group
at Jason's be able to give me a lift home to Bothell after the meeting?
I'll buy your dinner in return.
Thanks,
Adam
425.806-4508


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/wingding
http://www.eGroups.com - Simplifying group communications

#25 From: josgood@...
Date: Mon May 10, 1999 6:19 pm
Subject: Seattle Wing Ding 5/12 Warning
josgood@...
Send Email Send Email
 
This week we're studying Layered Initialization and Filter.  The book
"Pattern-Oriented Software Architecture" by Buschmann et al covers Pipes and
Filters.  Does anyone know of a supplemental reference for Layered
Initialization?

We're eating spagetti, sausages, and rolls.  Again.  Nummy!  Please RSVP by
Wednesday noon so I know how many mouths to feed.

Thanks again to Lance for putting together our current study guide.


If you need directions, additional information, check out:

    http://www.sns.to/Patterns/

(Thanks also to George for putting together the web site.)


Cheers, Jason


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/wingding
http://www.eGroups.com - Simplifying group communications

#24 From: Jason Osgood <josgood@...>
Date: Sat May 8, 1999 4:01 pm
Subject: Re: Wingding pattern web site
josgood@...
Send Email Send Email
 
Hi Joe-


You wrote:

> I don't have a silver bullet, but I've been interested in an application
> server called zope (www.zope.org).

On your recommendation, I checked out zope.org.  From the documentation, it
looks rather cool.  I even read the online tutorial for Python; why the
hell are we all still using Java?!  <grin>

The Cocoon stuff I'm also interested in has a different feature set.  Zope
is definitely a full-fledged app server.  The Apache, JServ, and Cocoon
combo is more familiar (to me) but would require quite a bit more effort to
be on par with Zope.

I'm all in favor of trying Zope out.


We all think a collaborative site would be cool, right?  Ward Cunningham's
WikiWikiWeb tech/idea has a small following:


	 Portland Pattern Repository
	 http://c2.com/ppr/index.html

	 Swiki (for Squeak)
	 http://minnow.cc.gatech.edu/squeak

	 Lego-Robotics
	 http://www.object-arts.com/wiki/html/Lego-Robotics/FrontPage.htm


My only full-formed concern with WikiWikiWeb tech is that there's no query
or sorting abilities.  At a very minimum, I want our repository to be
sorted by type or alpha.  Because Zope is backed by a database, I'm
guessing it'll be easier to sort, filter, query, etc.  I believe Zope also
supports Les' suggestion to have versioning.


Cheers, Jason


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/wingding
http://www.eGroups.com - Simplifying group communications

#23 From: Joe Grace <occam@...>
Date: Fri May 7, 1999 7:43 pm
Subject: Re: Wingding pattern web site
occam@...
Send Email Send Email
 
FYI,

I've kind of been waiting for Linux Expo before trying out Zope.  The Zop'ists
are readying a new version for release at Linux Expo with plenty of updates (to
oodb, indexing support, web server, new features (e.g., ZClasses), etc.) and
packaging it all into one big new Zope update.  At that
point, it'll probably be easy to pick up and install (caveat: the new version
shakedown :-).

I've been following the mailing list which has been informative (as I squirrel
away tidbits of info).  They also have a manager's guide which is *the* primary
source for zope introductory info..  The other source is the new, developing
Zope Documentation Project.  The mailing list is available at

     http://www.zope.org/Community

= Joe =

Les Novell wrote:

> I perused the Zope web page and it seems like a pretty good tool. It would
take me some time to learn it. I'm not an expert in HTML or Python, so I've got
a bit of a learning curve :).
>
> Maybe it would help if someone prepared (D?)HTML templates for me to work off
of.
>
> Les
>
> Joe Grace wrote:
>
> > I don't have a silver bullet, but I've been interested in an application
server called zope (www.zope.org).  It has some very compelling features, allows
various branches to be developed independently, includes real-time deployment of
branches, and... is open source.  Zope is python based
> > (which I consider largely a good thing), but I'm not sure if it has any
hiccups handling java alongside (which would be bad).
> >
> > Anyway, I'm not a web application server guru but suspect zope might be a
good way to go.  If anyone has any other ideas, I'd be interested in those too. 
If anyone has feedback or experience with zope already, that'd be good too! 
Zope does seem to have an active and growing user base.
> >
> > Cheers,
> >
> > = Joe =
> >
> > lesn@... wrote:
> >
> > > Earlier this week over coffee Jason suggested that Wingdings have a
website containing improved sample implementations for patterns found in Grand's
book.
> > >
> > > I think there was positive support for this suggestion, but it is still
unclear how we can host a dynamic web site that everyone can update and post to.
> > >
> > > Here at ASIX we manage our intranet using a configuration management
system. This allows people to checkout, modify, and check back in new versions
of web pages and related documents. The web site then grabs and posts any
updates on an hourly basis. We could do something similar with CVS.
> > >
> > > Also, if this initiative does get off the ground, I might be able to
scrounge up an old computer that would run Linux adequately.
> > >
> > > Les
> > >
> > > ------------------------------------------------------------------------
> > > eGroups Spotlight:
> > > "Kosovo-Reports" - Direct reports from Kosovo/Serbia/Yugoslavia.
> > > http://clickhere.egroups.com/click/5
> > >
> > > eGroup home: http://www.eGroups.com/group/wingding
> > > http://www.eGroups.com - Simplifying group communications


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/wingding
http://www.eGroups.com - Simplifying group communications

#22 From: Les Novell <lesn@...>
Date: Fri May 7, 1999 6:56 pm
Subject: Re: Wingding pattern web site
lesn@...
Send Email Send Email
 
I perused the Zope web page and it seems like a pretty good tool. It would take
me some time to learn it. I'm not an expert in HTML or Python, so I've got a bit
of a learning curve :).

Maybe it would help if someone prepared (D?)HTML templates for me to work off
of.

Les

Joe Grace wrote:

> I don't have a silver bullet, but I've been interested in an application
server called zope (www.zope.org).  It has some very compelling features, allows
various branches to be developed independently, includes real-time deployment of
branches, and... is open source.  Zope is python based
> (which I consider largely a good thing), but I'm not sure if it has any
hiccups handling java alongside (which would be bad).
>
> Anyway, I'm not a web application server guru but suspect zope might be a good
way to go.  If anyone has any other ideas, I'd be interested in those too.  If
anyone has feedback or experience with zope already, that'd be good too!  Zope
does seem to have an active and growing user base.
>
> Cheers,
>
> = Joe =
>
> lesn@... wrote:
>
> > Earlier this week over coffee Jason suggested that Wingdings have a website
containing improved sample implementations for patterns found in Grand's book.
> >
> > I think there was positive support for this suggestion, but it is still
unclear how we can host a dynamic web site that everyone can update and post to.
> >
> > Here at ASIX we manage our intranet using a configuration management system.
This allows people to checkout, modify, and check back in new versions of web
pages and related documents. The web site then grabs and posts any updates on an
hourly basis. We could do something similar with CVS.
> >
> > Also, if this initiative does get off the ground, I might be able to
scrounge up an old computer that would run Linux adequately.
> >
> > Les
> >
> > ------------------------------------------------------------------------
> > eGroups Spotlight:
> > "Kosovo-Reports" - Direct reports from Kosovo/Serbia/Yugoslavia.
> > http://clickhere.egroups.com/click/5
> >
> > eGroup home: http://www.eGroups.com/group/wingding
> > http://www.eGroups.com - Simplifying group communications


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/wingding
http://www.eGroups.com - Simplifying group communications

#21 From: Joe Grace <occam@...>
Date: Fri May 7, 1999 1:37 pm
Subject: Re: Wingding pattern web site
occam@...
Send Email Send Email
 
I don't have a silver bullet, but I've been interested in an application server
called zope (www.zope.org).  It has some very compelling features, allows
various branches to be developed independently, includes real-time deployment of
branches, and... is open source.  Zope is python based
(which I consider largely a good thing), but I'm not sure if it has any hiccups
handling java alongside (which would be bad).

Anyway, I'm not a web application server guru but suspect zope might be a good
way to go.  If anyone has any other ideas, I'd be interested in those too.  If
anyone has feedback or experience with zope already, that'd be good too!  Zope
does seem to have an active and growing user base.

Cheers,

= Joe =


lesn@... wrote:

> Earlier this week over coffee Jason suggested that Wingdings have a website
containing improved sample implementations for patterns found in Grand's book.
>
> I think there was positive support for this suggestion, but it is still
unclear how we can host a dynamic web site that everyone can update and post to.
>
> Here at ASIX we manage our intranet using a configuration management system.
This allows people to checkout, modify, and check back in new versions of web
pages and related documents. The web site then grabs and posts any updates on an
hourly basis. We could do something similar with CVS.
>
> Also, if this initiative does get off the ground, I might be able to scrounge
up an old computer that would run Linux adequately.
>
> Les
>
> ------------------------------------------------------------------------
> eGroups Spotlight:
> "Kosovo-Reports" - Direct reports from Kosovo/Serbia/Yugoslavia.
> http://clickhere.egroups.com/click/5
>
> eGroup home: http://www.eGroups.com/group/wingding
> http://www.eGroups.com - Simplifying group communications


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/wingding
http://www.eGroups.com - Simplifying group communications

#20 From: Jason Osgood <josgood@...>
Date: Fri May 7, 1999 12:52 am
Subject: Borrow, Copy, or Steal?
josgood@...
Send Email Send Email
 
I wrote:

> If the implementer decides to make products immutable,
> she may decide to clone the product only as needed,
> otherwise known as "copy-on-write".

Err, make the products MUTABLE.  Sorry.



------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/wingding
http://www.eGroups.com - Simplifying group communications

#19 From: Jason Osgood <mrosgood@...>
Date: Thu May 6, 1999 11:18 pm
Subject: Borrow, Copy, or Steal?
mrosgood@...
Send Email Send Email
 
Hi George, Everyone-


At the last session, we studied Cache Management.  We had an open-ended
discussion about whether products from a Cache should be immutable or
mutable.  If the implementer decides to make products immutable, she
may decide to clone the product only as needed, otherwise known as
"copy-on-write".

Dr. Tony Simons presented a paper at OOPSLA'98 that addressed this
design issue and explores some alternatives.  Here's the link

    "Borrow, copy or steal? Loans and larceny
     in the orthodox canonical form"

    http://www.dcs.shef.ac.uk/~ajhs/abstracts.html#steal

Warning, the programming language used in the paper is C++.  I'm
reading the paper again, this time with a better understanding of the
issues involved.  I'm hopeful at least some of the ideas will be
applicable to Java.  News at eleven.


Cheers, Jason


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/wingding
http://www.eGroups.com - Simplifying group communications

#18 From: josgood@...
Date: Thu May 6, 1999 7:24 pm
Subject: Catching Up
josgood@...
Send Email Send Email
 
Hi Les, Everyone-


Aside: Has anyone tried the new "interface" thru www.egroups.com/list/wingding? 
It's pissing me off.  I am encouraged, though, by egroups.com willingness to try
out new ideas and variants.  I'm sure they'll eventually stick the landing.


Re: Bill Joy Presentation

It was a great presentation.  I'm writing up a report for my company.  I'll post
an abbreviated version here.  Does anyone know if the slides he showed are
available somewhere?


Re: Wing Ding Patterns Repository

I love the idea of version control behind a collaborative web site.  I'm going
to think about this some.  If anyone has any ideas or experience, please post.
Meanwhile, I'm talking to our intranet web master (here at ScenicSoft) about
some tools I could use.  I hate hand-coding HTML but can't tolerate the crap
authoring tools generate.  Is there a compromise?

I'll rough something in over the next few days.  We can evolve towards a dynamic
enviroment.


Re: Cache Management and Reference Objects

During the last session, we discussed the use of RefObjects in the
implementation of an Object Pool pattern.  I'm embarrassed that I didn't follow
through with the use of RefObjects with a Cache.  Basically, a Cache
implementation would need to know when items are no longer in use.  It's
unreasonable to ask the client to perform some sort of clean up step (and hard
to enforce).  Use RefObjects and Voila! problem solved; Cache gets the
information it needs to manage its collection.


Re: Object Pool

My primary motivating factor for creating the Patterns Repository is to document
our discussion about Object Pool.  Tidbits...

Relate Object Pool to Factory Method, specifically: separating concerns -- in
this case object creation and object use -- to postpone implementation details.
Using a Factory Method allows the one to start with an Abstract Factory and
switch over to an Object Pool at some later date, if needed.

Relate how Object Pool is like the opposite of Lazy Initialization.

Discuss strategies for returning a product from an Object Pool's Factory Method;
blocking, blocking with timeout, and callback.


Re: Rerun

I just decided that I definitely want to repeat the IndustrialLogic study guide
at some point in the future.  I've learned SO MUCH from this go around.  Like
the mages say: We teach, we learn.

I also want to tweak the order of the patterns a little bit, like we discussed
before.  I think there are some logical groupings for 2 hour sessions that help
in comparing and contrasting like patterns.

In conjunction with the Pattern Repository idea, I see it as an opportunity to
document patterns as-you-go instead of one huge big task.

Ideas?  I


Re: Eastside Wing Ding Group

We ran into Steven Lewis after the Bill Joy presentation.  He related how
they're studying "AntiPatterns".  If anyone is interested, they should encourage
him to spread the word.



Cheers, Jason




------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/wingding
http://www.eGroups.com - Simplifying group communications

#17 From: lesn@...
Date: Thu May 6, 1999 6:46 pm
Subject: Wingding pattern web site
lesn@...
Send Email Send Email
 
Earlier this week over coffee Jason suggested that Wingdings have a website
containing improved sample implementations for patterns found in Grand's book.

I think there was positive support for this suggestion, but it is still unclear
how we can host a dynamic web site that everyone can update and post to.

Here at ASIX we manage our intranet using a configuration management system.
This allows people to checkout, modify, and check back in new versions of web
pages and related documents. The web site then grabs and posts any updates on an
hourly basis. We could do something similar with CVS.

Also, if this initiative does get off the ground, I might be able to scrounge up
an old computer that would run Linux adequately.

Les


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/wingding
http://www.eGroups.com - Simplifying group communications

#16 From: Jason Osgood <jason@...>
Date: Wed Apr 28, 1999 12:26 am
Subject: Wing Ding Food 4/28
jason@...
Send Email Send Email
 
Thanks to Lance for the head's up.

Please RSVP.  We're having homemade burritos.  Yes, they're better than
Gorditos.  George can make his very own casadilla if he chooses.

I probably have enough chairs now.  Pretty soon I'll be giving 'em away.


Cheers, Jason
_______________________________________________________

Jason Osgood, Principal Software Engineer
ScenicSoft Inc 1133 - 164th St SW Lynnwood WA 98037 USA
425-355-6655 (fon) -6898 (fax) jason@...

http://www.scenicsoft.com/


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/wingding
http://www.eGroups.com - Simplifying group communications

#15 From: lby@...
Date: Wed Apr 28, 1999 12:00 am
Subject: Upcoming Meeting 4/28
lby@...
Send Email Send Email
 
The topics for tomorrow's meeting are:

Object Pool
Manage the reuse of objects for a type of object that is expensive to create or
only a limited number of a kind of object can be created.

Cache Management
The Cache Management pattern allows fast access to objects that would otherwise
take a long time to access. It involves keeping a copy of objects that are
expensive to construct after the immediate need for the object is over. The
object may be expensive to construct for any number of reasons, such as
requiring a lengthy computation or being fetched from a database.


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/group/wingding
http://www.eGroups.com - Simplifying group communications

#14 From: josgood@...
Date: Thu Apr 15, 1999 7:11 am
Subject: Report for 4/14/1999
josgood@...
Send Email Send Email
 
Seattle Wing Ding Study Group Report for 4/14/1999

Misc Business

Nine people attended.  We ate deli sandwiches.

Jason brought up the possibility of a summer hiatus.  Past experience indicates
that user group attendance drops considerably during July and August.  The
current study plan keeps the group busy through July.  Jason forewarned everyone
that he'll suspend the Wing Ding if six or fewer people attend a meeting and
then resume in September.

Null Object

We read from both Mark Grand's "Patterns in Java" and the PLoP 3 book, where the
pattern originally appeared.  We covered the points already mentioned on this
list.  George brought up costs of implementation in the form of additional
classes, which we judged a reasonable tradeoff.  George also related a case
where he uses Null Objects to always throw an exception when the usage would be
invalid.

Immutable

We read from "Patterns in Java" and Jason related the recent article in
JavaWorld on emulating the const keyword.  George stated that no classes should
be immutable because in Java being immutable effectively eliminates the
possibility of subclassing (inheritance).  This is a shortcoming of the
language, where the return types of methods are not polymorphic.  This requires
all objects returned from a method to be cast, which places burden on the
client.  Joe used the phrase "makes the design brittle", which we all pretty
much agreed with.

This led to a lengthy tangent talking about return types, template methods, and
a bunch of other OO language design issues.

Marker Interface

We read from "Patterns in Java".  Jason stated that this isn't a pattern, but
rather an idiom, generating nods all around.  No one had an example from his or
her own work.  The consensus seemed to be that Clonable and Serializable from
the JDK are lame hacks.  George stated that java.lang.Object shouldn't have a
clone() method.  Which makes sense when you consider that clone()'s contract is
underspecified and doesn't return objects of the correct type.  We had general
discussion about the expense of instanceof and casting operations.

The final group opinion is that Marker Interface is evil and should be avoided.


---

That's my report.  Feel free to correct, contribute, or collaborate.


Cheers, Jason Osgood

------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/wingding
Free Web-based e-mail groups by eGroups.com

#13 From: "Lance B. Young" <lby@...>
Date: Wed Apr 14, 1999 8:30 pm
Subject: Re: Seattle Wing Ding 4/14
lby@...
Send Email Send Email
 
No, we can keep the member list private, but public is fine with me too.  I just thought you could check the list and see if everyone, who normally shows up, has made the jump between groups.

Thanks,
Lance

josgood@... wrote:

 
Lance Young asked:

> we also need to post this message to the old patterns@... list? 

Probably a good idea.  Will do.


> I can not access the membership list.

Yea, I disabled membership access to all but the moderator (which is me).  Should the membership list be public?


Cheers, Jason

Does your free web site address contain more letters than the alphabet? Register a domain name with DomainDirect. A domain and NO hosting fees. Visit http://www.domaindirect.com for full details
eGroup home: http://www.eGroups.com/list/wingding
Free Web-based e-mail groups by www.eGroups.com

eGroup home: http://www.eGroups.com/list/wingding
Free Web-based e-mail groups by www.eGroups.com

#12 From: Jason Osgood <jason@...>
Date: Wed Apr 14, 1999 6:50 pm
Subject: Null Object
jason@...
Send Email Send Email
 
Howdy-


I was talking with my brother about Null Objects this last weekend.  He
cautioned that the use of a Null Object could be the sign of a bad
architecture.  I accept his observation, but haven't witnessed for myself.

I'm still wildly enthusiastic about Null Object.  When used in a
collection, such as inconjunction with the Composite pattern, it affords
runtime efficiency by eliminating explicit check for null object references.

I also think State design pattern implementations benefit from a default
Null Object implementation (aka "Null State"?).

Lastly, building frameworks is eased with the use of Null Object
implementations of various elements of the framework.  The tangible benefit
is that Null Objects simplify initialization dependancies, making the
client code for initializing a framework much more simple.

Look forward to seeing everyone tonight!


Cheers, Jason
_______________________________________________________

Jason Osgood, Principal Software Engineer
ScenicSoft Inc 1133 - 164th St SW Lynnwood WA 98037 USA
425-355-6655 (fon) -6898 (fax) jason@...

http://www.scenicsoft.com/


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/wingding
Free Web-based e-mail groups by eGroups.com

#11 From: josgood@...
Date: Wed Apr 14, 1999 6:35 pm
Subject: Re: Seattle Wing Ding 4/14
josgood@...
Send Email Send Email
 
Lance Young asked:

> we also need to post this message to the old patterns@... list?

Probably a good idea.  Will do.


> I can not access the membership list.

Yea, I disabled membership access to all but the moderator (which is me). 
Should the membership list be public?


Cheers, Jason

------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/wingding
Free Web-based e-mail groups by eGroups.com

#10 From: lby@...
Date: Wed Apr 14, 1999 6:11 pm
Subject: Re: Seattle Wing Ding 4/14
lby@...
Send Email Send Email
 
Jason, do we also need to post this message to the old patterns@... list?  I
was going to check the membership list to see if everyone has joined the new
egroup list, but I can not access the membership list.  In any case, it seems
prudent to copy the old list for a little longer.

Thanks,
Lance

  <01be85e7.6ecb282-@...> wrote:
Original Article: http://www.egroups.com/list/wingding/?start=9
> Hi George, Everyone-
>
>
> I've been having a REALLY bad week.  Sorry for not posting an announcement
> earlier.  Yes, the meeting is still on.  We'll be having deli sandwiches.
>  See everyone tomorrow night!
>
>
> Cheers, Jason
>
>

------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/wingding
Free Web-based e-mail groups by eGroups.com

#9 From: Jason Osgood <josgood@...>
Date: Wed Apr 14, 1999 2:54 am
Subject: Seattle Wing Ding 4/14
josgood@...
Send Email Send Email
 
Hi George, Everyone-


I've been having a REALLY bad week.  Sorry for not posting an announcement
earlier.  Yes, the meeting is still on.  We'll be having deli sandwiches.
  See everyone tomorrow night!


Cheers, Jason


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/wingding
Free Web-based e-mail groups by eGroups.com

#8 From: "George A. Smith @ SNS" <zgas@...>
Date: Wed Apr 14, 1999 2:36 am
Subject: Have Seen NO Traffic re SeaJUG WingDing Patterns Group
zgas@...
Send Email Send Email
 
Tonight is "supposedly" the East-Side Patterns Group meeting.  But I have
seen no "recent" announcement.

Tommorrow night is the West-Side Meeting.  Jason, no announcement?

Is it on?

Hello out there...

George

---------------------
Smith's Net Services
9505 S. 241 St.
Kent, WA 98031  USA
Fon: 1.253.813-8698
Fax: 1.253.813-8532
http://www.SNS.to
mailto:zgas@...

"Chase the dream, not the competition." -- Nemesis Racing Team
---------------------

------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/wingding
Free Web-based e-mail groups by eGroups.com

#7 From: "George A. Smith @ SNS" <zgas@...>
Date: Wed Apr 7, 1999 7:56 pm
Subject: Patterns Site Updated
zgas@...
Send Email Send Email
 
Sorry all for the delay...

But the SeaJUG Patterns pages have FINALLY been updated:

	 http://sns.to/Patterns

George

---------------------
Smith's Net Services
9505 S. 241 St.
Kent, WA 98031  USA
Fon: 1.253.813-8698
Fax: 1.253.813-8532
http://www.SNS.to
mailto:zgas@...

"Chase the dream, not the competition." -- Nemesis Racing Team
---------------------

------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/wingding
Free Web-based e-mail groups by eGroups.com

#6 From: "Lance Young" <lancey@...>
Date: Tue Apr 6, 1999 2:19 pm
Subject: SeaJUG: Reminder for new Java Patterns study group at the Westside Wingding
lancey@...
Send Email Send Email
 
The Westside Patterns Group's latest study topics come from the Java
Patterns 1 book by Mark Grand

You still have time to order the book before the next meeting.

The Amazon book link:

http://www.amazon.com/exec/obidos/ASIN/0471258393/n/qid=922744353/sr=2-1/002
-8461463-2419041

Fatbrain has the Java Patterns 1 book for 41% off:
http://www1.fatbrain.com/asp/BookInfo/BookInfo.asp?theisbn=0471258393

Did I mention the $15 off coupon?

Company Blurb:
We value your business, and want you to remain a customer, whether you love
our new name or you think we're completely nuts. Get your discount by
entering the discount code "FATBRAIN" in the referral code field when
placing your order online. Discounts will be taken off orders totaling $15
or more. Tell a friend about it;
the $15-off discount code is good for anyone, anywhere through April 19.

----------------------
April 14th Meeting Schedule
---------------------

1.a Null Object

The Null Object pattern provides an alternative to using null to indicate
the absence of an object to
delegate an operation to. Using null to indicate the absence of such an
object requires a test for null
before each call to the other object’s methods. Instead of using null, the
Null Object pattern uses a
reference to an object that doesn’t do anything.

1.b Immutable

The Immutable pattern increases the robustness of objects that share
references to the same object
and reduces the overhead of concurrent access to an object. It accomplishes
this by not allowing an
object’s state information to change after it is constructed. The Immutable
pattern also avoids the
need to synchronize multiple threads of execution that share an object.

1.c Snapshot

Capture a snapshot of an object's state so that the object's state can be
restored later. The object that
initiates the capture or restoration of the state does not need to know
anything about the state
information. It only needs to know that the object whose state it is
restoring or capturing implements
a particular interface.


Details:
The meetings are the second and forth Wednesdays of each month, start, with
food, at 6:30PM and at 7PM the fun begins.

Our current meeting location is:

Host:
Chez Jason (Osgood)
Address:
9208 Dayton Ave N
Seattle WA 98103
Phone:
(206) 784-9416
Email:
josgood@...

Directions:
From I-5 (north or south)
take the 85th St exit
head west pass Aurora (99)
right on Dayton Ave N (for about 7 blocks, just past 92cnd St)
house is on the right
park somewhere near house


So pick up the book and be prepared to contribute,
Lance B. Young


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/wingding
Free Web-based e-mail groups by eGroups.com

#5 From: "Lance B. Young" <lby@...>
Date: Tue Mar 30, 1999 11:45 pm
Subject: [Fwd: Thinking in Patterns offered on the Eastside - April 19, 6-8PM]
lby@...
Send Email Send Email
 
I really got a new perspective on Patterns from this presentation.  I
would suggest that anyone who is interested in patterns or who thinks
they know patterns (beginner to advanced) should attend.

Enjoy,
Lance


------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/wingding
Free Web-based e-mail groups by eGroups.com
Hi fellow software developers:

Many of you were unable to attend the Thinking in Patterns presentation Alan
Shalloway did earlier this month due to the 520 bridge being out that night.
Although we still had a great turnout, we've received enough requests to
offer the presentation again (this time on the Eastside) to do so.

You are therefore cordially invited to a free seminar (presented by Net
Objectives) about using design patterns, to be held Monday, April 19, from
6-8 pm at the Orcas Conference Room (#1480) in Microsoft Building 12  (go to
http://www.tadseattle.com/msdir.htm for a map).  See
http://www.netobjectives.com/pr_990304.htm for more information on the
seminar.


We have modified the seminar slightly from the March 4th presentation to
include more detail of the patterns as some of the attendees requested, but
it is essentially the same and Alan Shalloway again will be presenting it.

If you attended and found value in the seminar,  please pass this invitation
along to your friends.  If you didn't attend, and you've never used design
patterns before, this seminar will be an excellent introduction. If you've
already been exposed to them, we’ll show you new ways of using them. This
Net Objectives Patterns Thinking seminar will expand the exciting world of
design patterns for intermediate and advanced object-oriented software
developers.

We’ll begin by showing four design patterns - adapter, facade, bridge and
abstract factory. We then use the design patterns to understand and solve a
complex problem. Our approach focuses on using the design patterns to
illustrate several basic object-oriented design principles as well as a way
to use design patterns together, not merely to solve isolated problems.
(This seminar builds on a presentation made at January's OOP Conference in
Munich, Germany.)

Net Objectives believes that design patterns aren’t merely the combination
of classes in well-formed ways to solve specific problems. Rather, we follow
Christopher Alexander’s (e.g. the Father of Patterns) philosophy which
states that patterns should be used in combination with each other — to give
insights into the problem domain and guide us towards a greater conceptual
understanding of system components and their interrelationships. Then we can
use the patterns individually to complete software designs for a more
robust, flexible implementation throughout a product's life-cycle.

Patterns thus shift from ‘building blocks’ to providing insights into how we
can reorganize our problem domain into more manageable pieces. Attendees at
the Net Objectives’ seminar will learn several new design patterns and new
ways of using them: leading to improved application architectures.

Please note that seating is by reservation only. Please e-mail to:
netobjectives@... to ensure a seat.  Seating is even more
limited this time as the room will only hold 75 people (if someone has a
larger facility we can use that night, please let us know).

The Speaker:

Alan Shalloway is the primary consultant for Net Objectives, and has made
presentations on design patterns at conferences in the United States, Canada
and Germany. As an object-oriented consultant and software developer, he is
currently assisting PricewaterhouseCoopers with a
middleware/intranet/internet project.  He has just completed an assignment
at Boeing -- aiding their transition to OO. Alan focuses on creating
paradigm shifts: first into the OO perspective and then into using design
patterns as a basis for design. His book - Using Design Patterns to Learn
The Principles of Object-Oriented Design: A Primer on Patterns will be
published later this year, and is the foundation for his upcoming course:
Using Design Patterns to Build Application Architectures. (For more
information: http://www.netobjectives.com/c_ooaawdp.htm). Alan holds a
Masters in Computer Science from the Massachusetts Institute of Technology.


Thanks for your time,

Net Objectives
_________________________________________
Net Objectives offers mentoring and training in Design
Patterns and in the transition to object-oriented technology.
www.netobjectives.com
425-313-3065      pager 206-236-4665

#4 From: "Lance B. Young" <lby@...>
Date: Tue Mar 30, 1999 12:51 am
Subject: SeaJUG: $15 off new booksite! New Java Patterns 2 Book is released
lby@...
Send Email Send Email
 

New Java Patterns 2 Book is released

Grand has his second book finished.  Check out his list of patterns to see if it is of interest:
 
 
The Amazon link has an old description, BookPool does not carry it, but FatBrain (was ComputerLiteracy) is up to date and 20% off:
 
 
They have the original Java Patterns 1 book for 41% off:
 
Did I mention the $15 off coupon?
 
We value your business, and want you to remain a customer, whether you love our new name or you think we're completely nuts. Get your discount by entering the
discount code "FATBRAIN" in the referral code field when placing your order online. Discounts will be taken off orders totaling $15 or more. Tell a friend about it;
the $15-off discount code is good for anyone, anywhere through April 19.
 
What a deal!
 
Enjoy,
Lance B. Young

eGroup home: http://www.eGroups.com/list/wingding
Free Web-based e-mail groups by www.eGroups.com

#3 From: "Lance B. Young" <lby@...>
Date: Mon Mar 29, 1999 10:02 pm
Subject: MVC pattern links. And Updated Seattle Patterns Group Agenda
lby@...
Send Email Send Email
 
At the bottom of this mail, I have included the Seattle Patterns Group (WingDing) Agenda, that was agreed upon during our last meeting:
 
George will be updating the group website (http://sns.to/Patterns/index.html) with this information, next week.
 
 
Enjoy,
Lance

----- Original Message -----
To: Jason Osgood
Sent: Thursday, March 25, 1999 6:44 PM
Subject: MVC pattern links

Hi, I found a few freely available MVC pattern papers.

First, has a number of sub links:
(ootips) Model-View-Controller

http://www.kinetica.com/ootips/mvc-pattern.html

Has a good perspective on the sub patterns within MVC:
 Model View Controller As An Aggregate Design Pattern

http://c2.com/cgi/wiki?ModelViewControllerAsAnAggregateDesignPattern

Has slides with UML and other models for MVC:
 Pattern Example--Continued

http://www.icaen.uiowa.edu/~kuhl/SoftEngSlides/SEslides15/sld006.htm

Very interesting variation on a theme:
 MFCV
 

http://www.twinforces.com/tf/docs/MFCV.html

These should be enough to get the conversation started,
Lance

-------------------------------

Java Design Pattern Study Guide based on the Java Patterns Book by Mark Grand

The book link:

http://www.amazon.com/exec/obidos/ASIN/0471258393/n/qid=922744353/sr=2-1/002-8461463-2419041

 

Session and Topic List for Upcoming Meetings

The number represents the meeting and the letter the order of the pattern discussion within the meeting.  The first meeting to follow this agenda will be, April 14th.

1.a Null Object

The Null Object pattern provides an alternative to using null to indicate the absence of an object to

delegate an operation to. Using null to indicate the absence of such an object requires a test for null

before each call to the other object’s methods. Instead of using null, the Null Object pattern uses a

reference to an object that doesn’t do anything.

1.b Immutable

The Immutable pattern increases the robustness of objects that share references to the same object

and reduces the overhead of concurrent access to an object. It accomplishes this by not allowing an

object’s state information to change after it is constructed. The Immutable pattern also avoids the

need to synchronize multiple threads of execution that share an object.

1.c Snapshot

Capture a snapshot of an object's state so that the object's state can be restored later. The object that

initiates the capture or restoration of the state does not need to know anything about the state

information. It only needs to know that the object whose state it is restoring or capturing implements

a particular interface.

2.a Object Pool

Manage the reuse of objects for a type of object that is expensive to create or only a limited number

of a kind of object can be created.

2.b Cache Management

The Cache Management pattern allows fast access to objects that would otherwise take a long time

to access. It involves keeping a copy of objects that are expensive to construct after the immediate

need for the object is over. The object may be expensive to construct for any number of reasons,

such as requiring a lengthy computation or being fetched from a database.

3.a Layered Initialization

When you need multiple implementations of an abstraction, you usually define a class to encapsulate

common logic and subclasses to encapsulate different specialized logic. That does not work when

common logic must be used to decide which specialized subclass to create. The Layered

Initialization pattern solves this problem by encapsulating the common and specialized logic to

create an object in unrelated classes.

3.b Filter

The Filter pattern allows objects that perform different transformations and computations on streams

of data and have compatible interfaces to be dynamically connected to perform combinations of

operations on streams of data.

4.a Dynamic Linkage

Allow a program, upon request, to load and use arbitrary classes that implement a known interface.

4.b Virtual Proxy

If an object is expensive to instantiate and may not be needed, it may be advantageous to postpone its

instantiation until the object is needed. The Virtual Proxy pattern hides the fact that an object may not

yet exist from its clients, by having them access the object indirectly through a proxy object that

implements the same interface as the object that may not exist. The technique of delaying the

instantiation of an object until it is actually needed is sometimes called lazy instantiation.

5 Model-View Controller (MVC)

Divide application into three components:

Model--encapsulates core data and functionality, independent of input and output

considerations.

View--responsible for display of information to the user.

Controller--Associated with each view. Receives input events which are translated into

service requests for the model or view.

Concurrency Patterns

6.a Single Threaded Execution

Some methods access data or other shared resources in a way that produces incorrect results if there

are concurrent calls to a method and both calls access the data or other resource at the same time.

The Single Threaded Execution pattern solves this problem by preventing concurrent calls to the

method from resulting in concurrent executions of the method.

6.b Two-Phase Termination

Provide for the orderly shutdown of a thread or process through the setting of a latch. The thread or

process checks the value of the latch at strategic points in its execution.

7.a Guarded Suspension

Suspend execution of a method call until a precondition is satisfied.

7.b Balking

If an object’s method is called when the object is not in an appropriate state to execute that method,

have the method return without doing anything.

7.c Producer-Consumer

Coordinate the asynchronous production and consumption of information or objects.

8.a Scheduler

Control the order in which threads are scheduled to execute single threaded code using an object

that explicitly sequences waiting threads. The Scheduler pattern provides a mechanism for

implementing a scheduling policy. It is independent of any specific scheduling policy.

8.b Read/Write Lock

Allow concurrent read access to an object but require exclusive access for write operations.

 


eGroup home: http://www.eGroups.com/list/wingding
Free Web-based e-mail groups by www.eGroups.com

#2 From: Jason Osgood <josgood@...>
Date: Sun Mar 28, 1999 7:49 am
Subject: Greetings
josgood@...
Send Email Send Email
 
Howdy-


Thank you for checking out the Wing Ding Design Pattern Study Group mailing
list.

The original Wing Ding was an informal group that I ran along side the
larger Seattle AutoCAD Users Group (1988-1991).  Where the larger user
group was formal, had monthly presentations, and so forth, the Wing Ding
was purposefully unstructured so us techies could get together and talk
shop.

This reincarnated Wing Ding was created in 1998 to study the seminal book
"Design patterns" by Gamma et al:

	 http://www.hillside.net/patterns/books/#Gamma

We are indebted to Joshua Kerievsky of Industrial Logic for creating and
sharing the study guide that we used:

	 www.industriallogic.com/papers/learning.html


Shortly after the Wing Ding began, for practical reasons (traffic) it split
into two groups: Seattle and Eastside (Bellevue).  I host the Seattle group
and Steven Lewis <smlewis@...> hosts the Eastside group.

Both the Seattle and Eastside Wing Dings have finished Industrial Logic's
study guide of the "Design Pattern" book.  After much discussion, the
Seattle Wing Ding decided to continue by studying selected patterns from
various sources, though mostly patterns from the book "Patterns in Java" by
Mark Grand that we had not yet covered.  The Eastside Wing Ding has chosen
to continue by studying Donald Norman's seminal book "Design of Everyday
Things" (a must read!).


In the next few days, I'll update my home page to contain information about
the Seattle Wing Ding.  The URL will be:

	 http://www.halcyon.com/josgood/wingding

I'll post another note here when the page is up.


Cheers, Jason Osgood






------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/wingding
Free Web-based e-mail groups by eGroups.com

#1 From: "Jason Osgood" <josgood@...>
Date: Sun Mar 28, 1999 6:49 am
Subject: Welcome to the wingding E-Mail Group
josgood@...
Send Email Send Email
 
This list supports the Wing Ding Design Pattern study groups (Seattle and
Eastside).  On here you'll find meeting announcements and general discussions. 
Both the Seattle and Eastside Wing Dings have just finished the "Design
Patterns" book.  Seattle is continuing with selected patterns. Eastside is
studying Donald Norman's "Design of Everyday Things."

Jason Osgood 3/27/99

Group Manager: wingding-owner@egroups.com

To subscribe, send a message to wingding-subscribe@egroups.com or go to the
e-group's home page at http://www.egroups.com/list/wingding

Messages 1 - 30 of 1313   Newest  |  < Newer  |  Older >  |  Oldest
Advanced
Add to My Yahoo!      XML What's This?

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help