From 9c20913fed3ad481d739104b75b6314a2e74aae3 Mon Sep 17 00:00:00 2001 From: user Date: Sat, 8 Aug 2026 18:57:55 +0400 Subject: [PATCH] feat(hw-03): implement Adapter pattern --- .../app/src/main/java/org/example/App.java | 23 +++++++++++++------ .../java/org/example/adapter/Adaptee.java | 9 ++++++++ .../java/org/example/adapter/Adapter.java | 21 +++++++++++++++++ .../main/java/org/example/adapter/Target.java | 7 ++++++ 4 files changed, 53 insertions(+), 7 deletions(-) diff --git a/hw-03/project-root/app/src/main/java/org/example/App.java b/hw-03/project-root/app/src/main/java/org/example/App.java index e7e1af9..71bd80c 100644 --- a/hw-03/project-root/app/src/main/java/org/example/App.java +++ b/hw-03/project-root/app/src/main/java/org/example/App.java @@ -3,12 +3,21 @@ */ package org.example; -public class App { - public String getGreeting() { - return "Hello World!"; - } +import org.example.adapter.*; - public static void main(String[] args) { - System.out.println(new App().getGreeting()); - } +public class App { + public static void main(String[] args) { + run(); + } + + private static void run() { + checkAdapterPattern(); + } + + private static void checkAdapterPattern() { + Adaptee adaptee = new Adaptee(); + Target target = new Adapter(adaptee); + + target.methodWithoutArguments(); + } } diff --git a/hw-03/project-root/app/src/main/java/org/example/adapter/Adaptee.java b/hw-03/project-root/app/src/main/java/org/example/adapter/Adaptee.java index e69de29..417d13e 100644 --- a/hw-03/project-root/app/src/main/java/org/example/adapter/Adaptee.java +++ b/hw-03/project-root/app/src/main/java/org/example/adapter/Adaptee.java @@ -0,0 +1,9 @@ +package org.example.adapter; + +/** Adaptee */ +public class Adaptee { + + public void methodWithArgument(int argument) { + System.out.println("Был передан аргумент " + argument); + } +} diff --git a/hw-03/project-root/app/src/main/java/org/example/adapter/Adapter.java b/hw-03/project-root/app/src/main/java/org/example/adapter/Adapter.java index e69de29..022020e 100644 --- a/hw-03/project-root/app/src/main/java/org/example/adapter/Adapter.java +++ b/hw-03/project-root/app/src/main/java/org/example/adapter/Adapter.java @@ -0,0 +1,21 @@ +package org.example.adapter; + +import java.util.Random; + +/** Adapter */ +public class Adapter implements Target { + + public Adapter(Adaptee adaptee) { + this.adaptee = adaptee; + this.random = new Random(); + } + + @Override + public void methodWithoutArguments() { + int argument = random.nextInt(); + adaptee.methodWithArgument(argument); + } + + private final Adaptee adaptee; + private Random random; +} diff --git a/hw-03/project-root/app/src/main/java/org/example/adapter/Target.java b/hw-03/project-root/app/src/main/java/org/example/adapter/Target.java index e69de29..d8dee66 100644 --- a/hw-03/project-root/app/src/main/java/org/example/adapter/Target.java +++ b/hw-03/project-root/app/src/main/java/org/example/adapter/Target.java @@ -0,0 +1,7 @@ +package org.example.adapter; + +/** Target */ +public interface Target { + + void methodWithoutArguments(); +}