Super quick exam ref

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
(Patterns)
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Links to info below...
+
This page is intended for ultra quick access to any page that might be needed in the exam... (ie, to minimise the click count)
 +
 
 +
High Level:
 +
* [[Main Page]]
 +
* [[OO wisdom]]
  
 
== Patterns ==
 
== Patterns ==
Important Pages:
 
 
* [[Patterns]]
 
* [[Patterns]]
 
* [[Design patterns]]
 
* [[Design patterns]]
Line 11: Line 14:
 
* [[Organisational patterns]]
 
* [[Organisational patterns]]
 
* [[Intelligent children pattern]]
 
* [[Intelligent children pattern]]
Design Patterns Cheatsheet:
+
* [http://www.laputan.org/mud/mud.html Big Ball Of Mud]
* [http://wiki3.cosc.canterbury.ac.nz/index.php/Image:Designpatternscard.pdf Design Patterns Flashcards]  
+
* [http://wiki3.cosc.canterbury.ac.nz/index.php/Image:Designpatternscard.pdf Design Patterns Flashcards]
Design Patterns Template:
+
* [[Media:DPrefcard.zip|Design Patterns RefCards (PDF from REFCARDZ.COM)]]
 
{{Template:Design patterns}}
 
{{Template:Design patterns}}
  
 
== Maxims ==
 
== Maxims ==
 +
* [[Design maxims]]
 +
* [[Maxim Hierarchy]]
 +
* [[Riel's heuristics]]
 +
* [[Johnson and Foote's heuristics]]
 +
* [[Bob Martin's principles]]
 +
* [[Ken Auer 1995]]
 +
* [http://programmer.97things.oreilly.com/wiki/index.php/Edited_Contributions Edited Contributions]
  
 
== Refactoring and Smells ==
 
== Refactoring and Smells ==
 
+
* [[Code smells]]
 +
* [[Refactoring]]
 +
* [[Refactoring and performance]]
 
{{Template:Refactoring}}
 
{{Template:Refactoring}}
  
Line 25: Line 37:
  
 
== Other ==
 
== Other ==
 +
* [[Resources]]
 +
* [[OO gurus]]
 +
* [[The Alexander conspiracy]]
 +
* [[Ward's wiki]]
 +
* [[Design examples]]
 +
* [[Nomenclature]]
 +
* [[Idioms]]
 +
* [[Hall of fame]] - A categorisation of OOD features by their validity
 +
* [[Schools of thought]] - A set of contradictory ideas and the OOD concepts they are influenced by.
 +
 +
COSC427 Ideas:
 +
* [[Getter and setter policy]]
 +
* [[Equals vs the Encapsulation Boundary]]
 +
* [[Empty method over-rides]]
 +
* [[427 design standard]] - The 2008 set of design guidelines. Covers getters/setters, class naming & equals methods
 +
* [[Quick Reference]] - A 2008 guide designed as a general resource and for the exam.
 +
* [[Exam questions]] - A set of previous exam questions and attempted solutions
  
 
{{Template:Nomenclature}}
 
{{Template:Nomenclature}}
 +
 +
''[[Special:Allpages|Index of all pages]]''

Latest revision as of 04:16, 15 October 2010

This page is intended for ultra quick access to any page that might be needed in the exam... (ie, to minimise the click count)

High Level:

Contents

Patterns


Maxims

Refactoring and Smells


Refactoring

Composing Methods: Extract Method | Inline Method | Inline Temp | Replace Temp with Query | Introduce Explaining Variable | Split Temporary Variable | Remove assignments to Parameters | Replace Method with Method Object | Substitute Algorithm
Moving Features Between Objects: Move Method | Move Field | Extract Class | Inline Class | Hide Delegate | Remove Middle Man | Introduce Foreign Method | Introduce Local Extension
Organising Data: Self Encapsulate Field | Replace Data Value with Object | Change Value to Reference | Change Reference to Value | Replace Array with Object | Duplicate Observed Data | Change Unidirectional Association to Bidirectional | Change Bidirectional Association to Unidirectional | Replace Magic Number with Symbolic Constant | Encapsulate Field | Encapsulate Collection | Replace Type Code with Class | Replace Type Code with Subclass | Replace Type Code with State/Strategy
Simplifying Conditional Expressions: Decompose Conditional | Consolidate Conditional Expression | Consolidate Duplicate Conditional Fragments | Remove Control Flag | Replace Nested Conditional with Guard Clauses | Replace Conditional with Polymorphism | Introduce Null Object | Introduce Assertion
Making Method Calls Simpler: Rename Method | Add Parameter | Remove Parameter | Separate Query from Modifier | Parameterise Method | Replace Parameter with Explicit Methods | Preserve Whole Object | Replace Parameter with Method | Introduce Parameter Object | Replace Parameter Object | Remove Setting Method | Hide Method | Replace Constructor with Factory Method | Encapsulate Downcast | Replace Error Code with Exception | Replace Exception with test
Dealing with Generalisation: Pull Up Field | Pull Up Method | Pull Up Constructor Body | Push Down Field | Push Down Method | Extract Subclass | Extract Superclass | Extract Interface | Collapse Hierarchy | Form Template Method | Replace Inheritance with Delegation
Big Refactorings: Tease Apart Inheritance | Convert Procedural Design to Objects | Separate Domain from Presentation | Extract Hierarchy


Other

COSC427 Ideas:


Index of all pages

Personal tools