I’ll come up with some brain storming questions. I won’t answer these questions…
Design: analyze and solve the problem
For current vs. future, small vs. big program, multi-versions sw vs. code and throw away
Think: Document templates, cv, plan, websites, etc.
Ask: what are the most difficult thing when you develop sw as a team?
Coverimg of GoF’s book
Open and Discussthe GoF’s classification.Application Type Compatible: Biz, Desk, Mobile, Enterprise
Creational patterns: how objects are created (Singleton, Builder, etc.)Structural patterns: how they are structured (Façade, Composite, Adapter, etc.)Behavioral patterns: how they interact, (Strategy,Iterator, etc.)
How to counting number of users in a chat room, game session, clients connected …Think about the similar situations
View the exampleIssues: What about threading? (in concurrent programming, server-side programming)
View the code in NetBeans, run it.How can you traverse through the linked list? (see verbose code)
Brain storming:find the situation that you think data should be store in this kind of structure.How can you visit each item
View the ModelSharing demo:JTextArea text1 = new JTextArea("starting text", 5, 30);JTextArea text2 = new JTextArea(5, 30); text2.setDocument(text1.getDocument()); Container pane = getContentPane(); pane.add(new JScrollPane(text1));pane.add(new JScrollPane(text2));
This tech article is really cool: http://blogs.sun.com/JavaFundamentals/entry/java_se_application_design_with
These are “classical patterns” only, the number of dps are increasing. For your toolbox, learn day-by-day and get design patterns’ benefits.
Where are cases studies?Consider the previous scenarios and answer.