From 4782334a63e26cd753ee3c357be209dae4b79cee Mon Sep 17 00:00:00 2001 From: Bunny <1319900154@qq.com> Date: Mon, 3 Feb 2025 16:36:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=A8=A1=E6=9D=BF=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../设计模式-v2/image-20250203163253869.png | Bin 0 -> 11585 bytes README/设计模式-v2.md | 73 +++++++++++++++++- .../cn/bunny/pattern11/PaymentProcess.java | 65 ++++++++++++++++ 3 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 README/images/设计模式-v2/image-20250203163253869.png create mode 100644 pattern/src/main/java/cn/bunny/pattern11/PaymentProcess.java diff --git a/README/images/设计模式-v2/image-20250203163253869.png b/README/images/设计模式-v2/image-20250203163253869.png new file mode 100644 index 0000000000000000000000000000000000000000..ec9314ecce71f244a96139ec30759b7142870eae GIT binary patch literal 11585 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 F{|iN-*