43 lines
1.2 KiB
Plaintext
43 lines
1.2 KiB
Plaintext
|
@startuml
|
||
|
package com.iluwatar.model.view.viewmodel {
|
||
|
class Book {
|
||
|
- author : String
|
||
|
- description : String
|
||
|
- name : String
|
||
|
+ Book(name : String, author : String, description : String)
|
||
|
# canEqual(other : Object) : boolean
|
||
|
+ equals(o : Object) : boolean
|
||
|
+ getAuthor() : String
|
||
|
+ getDescription() : String
|
||
|
+ getName() : String
|
||
|
+ hashCode() : int
|
||
|
+ setAuthor(author : String)
|
||
|
+ setDescription(description : String)
|
||
|
+ setName(name : String)
|
||
|
+ toString() : String
|
||
|
}
|
||
|
interface BookService {
|
||
|
+ load() : List<Book> {abstract}
|
||
|
}
|
||
|
class BookServiceImpl {
|
||
|
- designPatternBooks : List<Book>
|
||
|
+ BookServiceImpl()
|
||
|
+ load() : List<Book>
|
||
|
}
|
||
|
class BookViewModel {
|
||
|
- bookList : List<Book>
|
||
|
- bookService : BookService
|
||
|
- selectedBook : Book
|
||
|
+ BookViewModel()
|
||
|
+ deleteBook()
|
||
|
+ getBookList() : List<Book>
|
||
|
+ getSelectedBook() : Book
|
||
|
+ setSelectedBook(selectedBook : Book)
|
||
|
}
|
||
|
}
|
||
|
BookViewModel --> "-bookService" BookService
|
||
|
BookServiceImpl --> "-designPatternBooks" Book
|
||
|
BookViewModel --> "-bookList" Book
|
||
|
BookViewModel --> "-selectedBook" Book
|
||
|
BookServiceImpl ..|> BookService
|
||
|
@enduml
|