Kat,
Keep in mind I am just a student,
of course then we'll discount everything you have to say by 40% :-)
but isn't something that describes it at site level more a
framework rather than a pattern?
I'd say that the difference between a framework and a pattern is that
a framework is a fully worked, reusable solution to a problem (or at
least the foundations of one). As you'll know, but perhaps some of
the readers of the list might not, the term is commonly used in
object oriented programming to refer to a class library that can be
used to build applications. Rails (of Ruby on Rails) is a framework
for working with Ruby (a programming language). If we were to use the
term "framework", we'd be overloading the term in ways that are very
confusing.
From Wikipedia "A design pattern isn't a finished design that can
be transformed directly into code <http://en.wikipedia.org/wiki/
Code_%28computer_programming%29>; it is a description or template
for how to solve a problem that can be used in many different
situations. ".
http://en.wikipedia.org/wiki/Design_pattern_%28computer_science%29
Isn't a pattern usually a description of how to solve generic
complex issues, such as dynamic binding?
In the context of OOAD, yes.
But suppose your problem is to have a frequently updated set of
discrete messages, which users can subscribe to, to inform them of
changes to the status of their account. It seems that while this is
quite different from kottke.org, it fits the pattern of a blog. We
coould legitimately call this "a description or template for how to
solve a problem that can be used in many different situations". BTW,
I think the term template here is very tricky, overloading the
concept of reusable code chunks, like DreamWeaver (or Style Master)
templates. I recommend avoiding it like the plague in the discussion
of patterns to avoid people understanding patterns in the same, very
limited, sense.
But an academic course page can't be used in a e-commerce store.
It's quite specific for a particular area.
So you have two patterns. But both of them might fall within a class
of patterns, which in this case I call "site patterns" (that's
because any pattern within the set shares some common aspects). There
are other classes of pattern, and importantly types of patttern -
architectural, navigation strategy, data and more.
Again from Wikipedia, "a Framework can be considered as the
processes and technologies used to solve a complex issue. It is the
skeleton upon which various objects are integrated for a given
solution."
http://en.wikipedia.org/wiki/Framework
http://encyclopedia.thefreedictionary.com/Software+framework
The problem is that this leaves out the aspect of frameworks that
these processes and technologies are implemented in a programming
language, typically as class libraries, top form the basis of new
applications
So the description for the academic course page is more skeleton
like which allowed integration with other various objects, and thus
more framelike?
Point out to me where I have gone wrong.
If you get the chance, follow up some of the articles in my original
post about patterns. I feel that after some not inconsiderable time
thinking about this problem domain, the pattern paradigm is
appropriate, and could potentially be very important as web
development matures into a fully fledged discipline.
Thanks for the excellent thought provoking post. Straight to the top
of the class :-)
john
John Allsopp
style master :: css editor :: http://westciv.com/style_master
support forum :: http://support.westciv.com
blog :: dog or higher :: http://blogs.westciv.com/dog_or_higher
Web Essentials web development conference http://we05.com
******************************************************
The discussion list for http://webstandardsgroup.org/
See http://webstandardsgroup.org/mail/guidelines.cfm
for some hints on posting to the list & getting help
******************************************************