можете подсказать или скинуть ссылку на реальный код применения Адаптера(наглядный пример)? не так что у зарядника телефона есть адаптер или у флешки есть адаптер.бла бла бла ... а где в реальной программе была бы использована этот патерн. (и пример агрегата тоже скиньте пожлста.) Ну к примеру чтобы лучше понят. я с помошю Фактори паттерн написал код где можно перейти к нужной странице(перелистывать )
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import java.io.InputStream;

public class Task extends Application{
    public static  String s ="";
    public  MyFactory mf;
    public  MyInterface obj;
    public static void main(String[] args)
    {
        launch();
    }
    Stage windows;
    @Override
    public  void  start(Stage e) {
        windows = e;
        VBox vBox = new VBox();
        TextField textField = new TextField(" choose test number (from 1 to 10)");
        Button button = new Button("ok");
        button.setTranslateX(80);
        Label label = new Label("Main PAGE    input 1,2,3, or ... 10 ");
		Scene scene = new Scene(vBox, 300, 300);
        vBox.getChildren().addAll(label, textField, button);
        button.setOnAction(event -> {

        mf = new MyFactory();                                // фактори
        obj =  mf.getInstance(textField.getText());         // фактори
        this.obj.start(windows);                           // фактори
        });

        windows.setTitle(" W I N D O W S ");
        windows.setScene(scene);
        windows.show();


    }


}


//класс фактори

 class MyFactory{

    public MyInterface getInstance(String str){                       // создаем метод который будет создавать объекты классов реализующие один интерфейс
        if(str.equals("1"))                                                           // первое условие совпадет
            return new MyOne();                                              //  создать  экземпляр класса 1
                                                  //  создать  экземпляр класса 2 ....
//.....

   else return new MyOne();                                   // иначе создать  экземпляр класса ...


    }


}


// лист №1

 class MyOne extends Application implements MyInterface {

    Stage windows;

@Override
public  void  start(Stage e){
    windows=e;

    VBox vBox = new VBox();
    Scene scene = new Scene(vBox, 300, 300);
	Button home = new Button("home");
	 home.setOnAction(event -> {
	new Task().start(windows);

    });
	vBox.getChildren().addAll(new Label("Page 1"), home);

    windows.setTitle(" W I N D O W S ");
    windows.setScene(scene);
    windows.show();

}
// interface
}

 interface  MyInterface{
    void start(Stage e);}