Как написать и использовать конвертер (шаблон) - PullRequest
0 голосов
/ 14 апреля 2020

Я разрабатываю карту на стороне клиента. Чтобы передать эту сгенерированную карту на сервер, мне нужно преобразовать мои объекты (Map и MapGeneration). У меня уже есть предложение, приведенное ниже, но мне не совсем понятно, как продолжать использовать конвертер.

Классы серверов:

public final class EMap{

 private final int x;
 private final int y;
 private final boolean present;
 private final ETerrain terrain; // (Enum: Grass, Water, Mount)

 public EMap() {
    ....
 }

 public EMap(int x, int y, boolean present, ETerrain terrain) {
    ......
 }

}

public class EMapGeneration{

    private final Set<EMap> nodes = new HashSet<>();

    public EMapGeneration(){
    super();
    }

    public EMapGeneration(String id, Collection<EMap> nodes){
     ......
    }

}

Классы клиентов:

public class Map{
 private Coordinates coordinates; // int x; int y;
 private Area area; // Terrain terrain; (Enum: Grass, Water, Mount), boolean present;
}


public class MapGeneration{
 private List<Map> listMap = new ArrayList<>(); 
}

Мой подход:

public class Converter{

    public EMap converter (Map map){
        EMap eMap = new Emap();

        //how to convert the object to the other object?

    }

    public EMapGeneration converter (MapGeneration mapGeneration){
        EMapGeneration emapGeneration = new EMapGeneration();

      //how to convert the object to the other object?
    }
...