diff --git a/unit-of-work/etc/unit-of-work.ucls b/unit-of-work/etc/unit-of-work.ucls
deleted file mode 100644
index 15f777aad..000000000
--- a/unit-of-work/etc/unit-of-work.ucls
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/unit-of-work/etc/unit-of-work.urm.png b/unit-of-work/etc/unit-of-work.urm.png
index 46facff8d..3a7c0d377 100644
Binary files a/unit-of-work/etc/unit-of-work.urm.png and b/unit-of-work/etc/unit-of-work.urm.png differ
diff --git a/unit-of-work/etc/unit-of-work.urm.puml b/unit-of-work/etc/unit-of-work.urm.puml
index 329185e30..7f7920daf 100644
--- a/unit-of-work/etc/unit-of-work.urm.puml
+++ b/unit-of-work/etc/unit-of-work.urm.puml
@@ -1,10 +1,48 @@
@startuml
package com.iluwatar.unitofwork {
+ interface IUnitOfWork {
+ + 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 StudentManagementApp {
+ + StudentManagementApp()
+ + main(args : String[]) {static}
+ }
+ class StudentRepository {
+ - LOGGER : Logger {static}
+ - context : Map>
+ - studentDatabase : StudentDatabase
+ + StudentRepository(context : Map>, 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
\ No newline at end of file