java-design-patterns/unit-of-work/etc/unit-of-work.urm.puml

48 lines
1.3 KiB
Plaintext
Raw Permalink Normal View History

@startuml
package com.iluwatar.unitofwork {
class App {
+ App()
+ main(args : String[]) {static}
}
interface IUnitOfWork<T> {
+ DELETE : String {static}
+ INSERT : String {static}
+ MODIFY : String {static}
+ commit() {abstract}
+ registerDeleted(T) {abstract}
+ registerModified(T) {abstract}
+ registerNew(T) {abstract}
}
class Student {
- address : String
- id : Integer
- name : String
+ Student(id : Integer, name : String, address : String)
+ getAddress() : String
+ getId() : Integer
+ getName() : String
}
class StudentDatabase {
+ StudentDatabase()
+ delete(student : Student)
+ insert(student : Student)
+ modify(student : Student)
}
class StudentRepository {
- LOGGER : Logger {static}
- context : Map<String, List<Student>>
- studentDatabase : StudentDatabase
+ StudentRepository(context : Map<String, List<Student>>, studentDatabase : StudentDatabase)
+ commit()
- commitDelete()
- commitInsert()
- commitModify()
- register(student : Student, operation : String)
+ registerDeleted(student : Student)
+ registerModified(student : Student)
+ registerNew(student : Student)
}
}
StudentRepository --> "-studentDatabase" StudentDatabase
StudentRepository ..|> IUnitOfWork
@enduml