From d626f2f9b1f7954d4f834aae04ff043aeb5f7a51 Mon Sep 17 00:00:00 2001 From: zaien24 Date: Wed, 26 Aug 2020 19:37:04 +0900 Subject: [PATCH] AOP1 --- .../samples/petclinic/proxy/Cash.java | 11 +++++++++++ .../samples/petclinic/proxy/CreditCard.java | 14 ++++++++++++++ .../samples/petclinic/proxy/Payment.java | 6 ++++++ .../samples/petclinic/proxy/Store.java | 14 ++++++++++++++ 4 files changed, 45 insertions(+) create mode 100644 src/main/java/org/springframework/samples/petclinic/proxy/Cash.java create mode 100644 src/main/java/org/springframework/samples/petclinic/proxy/CreditCard.java create mode 100644 src/main/java/org/springframework/samples/petclinic/proxy/Payment.java create mode 100644 src/main/java/org/springframework/samples/petclinic/proxy/Store.java diff --git a/src/main/java/org/springframework/samples/petclinic/proxy/Cash.java b/src/main/java/org/springframework/samples/petclinic/proxy/Cash.java new file mode 100644 index 000000000..cb11877b8 --- /dev/null +++ b/src/main/java/org/springframework/samples/petclinic/proxy/Cash.java @@ -0,0 +1,11 @@ +package org.springframework.samples.petclinic.proxy; + +public class Cash implements Payment { + + @Override + public void pay(int amount) { + System.out.println(amount + "현금 결재" ); + + } +} + diff --git a/src/main/java/org/springframework/samples/petclinic/proxy/CreditCard.java b/src/main/java/org/springframework/samples/petclinic/proxy/CreditCard.java new file mode 100644 index 000000000..1f2798ee8 --- /dev/null +++ b/src/main/java/org/springframework/samples/petclinic/proxy/CreditCard.java @@ -0,0 +1,14 @@ +package org.springframework.samples.petclinic.proxy; + +public class CreditCard implements Payment { + Payment cash = new Cash(); + + @Override + public void pay(int amount) { + if (amount > 100) { + System.out.println(amount + " 신용 카드"); + } else { + cash.pay(amount); + } + } +} diff --git a/src/main/java/org/springframework/samples/petclinic/proxy/Payment.java b/src/main/java/org/springframework/samples/petclinic/proxy/Payment.java new file mode 100644 index 000000000..9960c603b --- /dev/null +++ b/src/main/java/org/springframework/samples/petclinic/proxy/Payment.java @@ -0,0 +1,6 @@ +package org.springframework.samples.petclinic.proxy; + +public interface Payment { + + void pay(int amount); +} diff --git a/src/main/java/org/springframework/samples/petclinic/proxy/Store.java b/src/main/java/org/springframework/samples/petclinic/proxy/Store.java new file mode 100644 index 000000000..aa5600ac8 --- /dev/null +++ b/src/main/java/org/springframework/samples/petclinic/proxy/Store.java @@ -0,0 +1,14 @@ +package org.springframework.samples.petclinic.proxy; + +public class Store { + + Payment payment; + + public Store(Payment payment) { + this.payment = payment; + } + + public void buySomething() { + payment.pay(100); + } +}