Professional Documents
Culture Documents
Analyze Behavior
Software
Supplementary Architecture
Specifications Document
Identify
Design
Mechanisms
Design Model
Analysis Class
Pattern Name
Application
+menu 1
0..*
MenuItem
Menu - label : String
+items
+ Clicked()
+cmd
cmd.Process();
1 Command
+ Process()
OpenCommand
Application
AskUser(); + Process()
DoOpen();
+menu 1
0..*
MenuItem
Menu - label : String
+items
+ Clicked()
+cmd
cmd.Process();
1 Command
+ Process()
1. OpenCommand( )
Initialization
myapp ocmd :
OpenCommand
2. AddItem("Open...",ocmd)
3. MenuItem("Open...", ocmd)
menu aNewItem :
MenuItem
3. AskUser( )
4. DoOpen( )
1. Clicked( )
2. Process( )
The user selects the theMenuItem cmd :
Open… menu item A user Command
AskUser();
DoOpen(); OpenCommand
Application + Process()
+ OpenCommand()
- AskUser()
- DoOpen()
+menu 1
MenuItem
Menu 0..* - label : String
Clicked():
cmd.Process(); MenuItem():
cmd = c;
label = s; +cmd
1
Command
+ Process()
gui
+ Menu
- MenuItem
com
+ Command
Client
Invoker <<role>>
ConcreteCommand Client
Command <<role>>
ConcreteCommand
+ Process()
<<role>>
Invoker
Command
+ Process()
Legacy Data
New Data
Template
Parameters
Pattern Name
Note: JDBC is the standard Java API for talking to a SQL database.
<<role>> 1
DBClass 0..*
<<role>>
create() : PersistentClass PersistentClass
read(searchCriteria : String) : PersistentClassList (from SamplePersistentClass)
update(c : PersistentClass)
delete(c : PersistentClass)
getData()
setData()
1
command()
new()
DriverManager
(from java.sql)
Statement
ResultSet (from java.sql)
Connection
(from java.sql)
(from java.sql)
: DBClass : DriverManager
1. create( )
1.1. New()
1.2. getData( )
1.3. createStatement( )
1.4. executeUpdate(String)
1.4. new()
Repeat these
operations for each 1.5. getString( )
called for each
element returned from
attribute in the
the executeQuery() 1.6. setData( ) class
command.
The
PersistentClassList is 1.7. add(PersistentClass)
loaded with the data
retrieved from the
database. Add the retrieved course offering
to the list to be returned
1. update(PersistentClass)
1.1. getData( )
1.2. createStatement( )
execute SQL
statement
1.3. executeUpdate(string)
1. delete(PersistentClass)
1.1. createStatement( )
execute SQL
statement
1.2. executeUpdate(string)
Sample
Persistency
Client Package
java.sql
DriverManager Connection
(from java.sql) (from java.sql)
Statement ResultSet
(from java.sql) (from java.sql)