Jenny Harlow
Jenny Harlow (Talk | contribs) (Finally managing to create a page - I think --Jenny) |
Jenny Harlow (Talk | contribs) |
||
Line 3: | Line 3: | ||
= Project = | = Project = | ||
− | + | Redesigning [part of] the Java Collections Framework | |
== Introduction == | == Introduction == | ||
− | Collections | + | This project will attempt to redesign part of the 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 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 == | == 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, iterators, factory methods), but also some of the glaring Arrghghgs 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 has to be just as important, if not more so, as Conspicuous Display of Authorised Design Patterns. | |
+ | |||
= Design Study = | = Design Study = | ||
Revision as of 11:46, 9 August 2010
Navigation shortcuts: Wiki users:Jenny Harlow
Contents |
Project
Redesigning [part of] the Java Collections Framework
Introduction
This project will attempt to redesign part of the 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 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, iterators, factory methods), but also some of the glaring Arrghghgs 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 has to be just as important, if not more so, as Conspicuous Display of Authorised Design Patterns.
Design Study
Requirements
Constraints
Initial Design
Diagram
Description of Classes
Design Critique
Initial Design
Design Improvements
Files
Acknowledgements
--Jenny Harlow 11:24, 9 August 2010 (UTC)