diff --git a/doccreator.pu b/doccreator.pu new file mode 100644 index 0000000..932a945 --- /dev/null +++ b/doccreator.pu @@ -0,0 +1,40 @@ +@startuml +title Factory Method パターン(DocumentCreator) + +interface Document { + + void open() +} + +class WordDocument implements Document { + + void open() +} + +class PdfDocument implements Document { + + void open() +} + +abstract class DocumentCreator { + # abstract Document createDocument() + + void openDocument() +} + +class WordCreator extends DocumentCreator { + + Document createDocument() +} + +class PdfCreator extends DocumentCreator { + + Document createDocument() +} + +// 継承関係 +DocumentCreator <|-- WordCreator +DocumentCreator <|-- PdfCreator + +// 実装関係 +Document <|.. WordDocument +Document <|.. PdfDocument + +// 利用関係(生成) +DocumentCreator --> Document : createDocument() + +@enduml