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