/
githubmirror
/
java-design-patterns
Обзор
Документация
Войти
/
githubmirror
/
java-design-patterns
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
currying/etc/currying.urm.puml
39 строк
984 B
Hugo Kat
feature: #1842 Add Currying Design Pattern (#2271)
04 дек 2022, 12:48
Не верифицирован
04 дек 2022, 12:48
7be2828
Код
Авторство
О чём код?
@startuml package com.iluwatar.currying { class App { + App() + main(args : String[]) {static} } class Book { ~ BOOK_CREATOR : Function<Genre, Function<String, Function<String, Function<LocalDate, Book>>>> {static} - author : String - genre : Genre - publicationDate : LocalDate - title : String ~ Book(genre : Genre, author : String, title : String, publicationDate : LocalDate) + builder() : AddGenre {static} } interface AddAuthor { + withAuthor(String) : AddTitle {abstract} } interface AddGenre { + withGenre(Genre) : AddAuthor {abstract} } interface AddPublicationDate { + withPublicationDate(LocalDate) : Book {abstract} } interface AddTitle { + withTitle(String) : AddPublicationDate {abstract} } enum Genre { + FANTASY {static} + HORROR {static} + SCI_FI {static} } } Book --> "-genre" Genre AddPublicationDate ..+ Book AddAuthor ..+ Book AddTitle ..+ Book AddGenre ..+ Book @enduml