From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/examples/Listing1016.java | 79 ++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/examples/Listing1016.java (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/Listing1016.java') diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/Listing1016.java b/Master/Reference Architectures and Patterns/hjp5/examples/Listing1016.java new file mode 100644 index 0000000..0d80613 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/examples/Listing1016.java @@ -0,0 +1,79 @@ +/* Listing1016.java */ + +class Delegate +{ + private Delegator delegator; + + public Delegate(Delegator delegator) + { + this.delegator = delegator; + } + + public void service1() + { + } + + public void service2() + { + } +} + +interface Delegator +{ + public void commonDelegatorServiceA(); + public void commonDelegatorServiceB(); +} + +class Client1 +implements Delegator +{ + private Delegate delegate; + + public Client1() + { + delegate = new Delegate(this); + } + + public void service1() + { + //implementiert einen Service und benutzt + //dazu eigene Methoden und die des + //Delegate-Objekts + } + + public void commonDelegatorServiceA() + { + } + + public void commonDelegatorServiceB() + { + } +} + +class Client2 +implements Delegator +{ + private Delegate delegate; + + public Client2() + { + delegate = new Delegate(this); + } + + public void commonDelegatorServiceA() + { + } + + public void commonDelegatorServiceB() + { + } +} + +public class Listing1016 +{ + public static void main(String[] args) + { + Client1 client = new Client1(); + client.service1(); + } +} \ No newline at end of file -- cgit v1.2.3