From bbfe3f62078e1d578a36d3b21135165660f02d37 Mon Sep 17 00:00:00 2001 From: llitfkitfk Date: Fri, 31 Oct 2014 13:31:41 +0800 Subject: [PATCH] add rest of class diagrams --- flyweight/etc/flyweight_1.png | Bin 0 -> 63947 bytes interpreter/etc/interpreter_1.png | Bin 0 -> 46272 bytes iterator/etc/iterator_1.png | Bin 0 -> 53045 bytes mediator/etc/mediator_1.png | Bin 0 -> 59727 bytes memento/etc/memento_1.png | Bin 0 -> 34840 bytes .../etc/model-view-presenter_1.png | Bin 0 -> 103398 bytes observer/etc/observer_1.png | Bin 0 -> 32766 bytes prototype/etc/prototype_1.png | Bin 0 -> 97668 bytes proxy/etc/proxy_1.png | Bin 0 -> 23587 bytes singleton/etc/singleton_1.png | Bin 0 -> 16417 bytes state/etc/state_1.png | Bin 0 -> 33886 bytes strategy/etc/strategy_1.png | Bin 0 -> 28839 bytes template-method/etc/template-method_1.png | Bin 0 -> 34592 bytes visitor/etc/visitor_1.png | Bin 0 -> 47078 bytes 14 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 flyweight/etc/flyweight_1.png create mode 100644 interpreter/etc/interpreter_1.png create mode 100644 iterator/etc/iterator_1.png create mode 100644 mediator/etc/mediator_1.png create mode 100644 memento/etc/memento_1.png create mode 100644 model-view-presenter/etc/model-view-presenter_1.png create mode 100644 observer/etc/observer_1.png create mode 100644 prototype/etc/prototype_1.png create mode 100644 proxy/etc/proxy_1.png create mode 100644 singleton/etc/singleton_1.png create mode 100644 state/etc/state_1.png create mode 100644 strategy/etc/strategy_1.png create mode 100644 template-method/etc/template-method_1.png create mode 100644 visitor/etc/visitor_1.png diff --git a/flyweight/etc/flyweight_1.png b/flyweight/etc/flyweight_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f30225aa0413f756df9dde93f191b8b79f614938 GIT binary patch literal 63947 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%0AN4z9t8| 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