Jenny Harlow

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
(Introduction)
m (Reverted edits by Ebybymic (Talk); changed back to last version by Jenny Harlow)
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Navigation shortcuts: [[Wiki users]]:[[User:Jenny Harlow|Jenny Harlow]]
 
----
 
  
= Project =
 
Redesigning [part of] the Java Collections Framework
 
 
== Introduction ==
 
This project will attempt to redesign part of the [http://download.oracle.com/javase/tutorial/collections/index.html Java Collections Framework] from the point of view of 'if we were starting again, what might we do'.  The whole framework is huge, and includes many specialised features such as the [http://download-llnw.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/package-summary.html java.util.concurrent] classes.  This project will focus on what we might consider to be the main everyday usage collections - the ones that come into almost everything we might want to write: lists, sets, maps.
 
 
== Background ==
 
In COSC324 Wal emphasised the use of Collections for efficient programming.  He pointed out some of the ways in which the Java Collections Framework uses design patterns (wrappers, [[Iterator|iterators]], [[Factory Method|factory methods]]), but also some of the glaring Arrghghgs (the OO term seems to be [[Antipatterns]]) that there seem to be in the current design.  Naturally we all nodded wisely and agreed that it is just terrible ...  It's easy to criticise - can I do any better? 
 
 
My initial thinking about this project made me realise that a major issue for Collections is contracts:  Collections are for other programmers to use and so using and abiding by [[Design by contract|design by contract]] has to be just as important, if not more so, as conspicuous display of [[Gang of Four 1995|GoF]]-authorised design patterns.
 
 
= Design Study =
 
 
== Requirements ==
 
 
== Constraints ==
 
 
 
== Initial Design ==
 
 
 
=== Diagram ===
 
 
 
=== Description of Classes ===
 
 
== Design Critique ==
 
 
=== Initial Design ===
 
 
 
== Design Improvements ==
 
 
 
= Files =
 
 
 
= Acknowledgements =
 
 
--[[User:Jenny Harlow|Jenny Harlow]] 11:24, 9 August 2010 (UTC)
 

Latest revision as of 03:17, 25 November 2010

Personal tools