Класс содержимого Java с временным объектом и параметром - PullRequest
0 голосов
/ 14 октября 2018

У меня есть два дизайна на выбор при разработке классов контента для моего человека в игре.Я хочу знать, какой из них будет работать лучше с точки зрения скорости, производительности и использования в массовом коде.

В основном, разница в том, что дизайн 1 будет содержать временный экземпляр человека, тогда как дизайн 2 не будет.

Редактировать: Пожалуйста, имейте в виду, что в этом проекте есть до ста классов, таких как VehicleContent , с которыми приходится иметь дело одному экземпляру.

Дизайн 1:

внешнее использование:

Person person = new Person();
person.init();
person.vehicle.setModel("Toyota");

Класс человека для дизайна 1:

public final class Person {

    private VehicleContent vehicle;

    public void init() {
        vehicle.setPerson(this);
    }


    public void say(String say) {
        System.out.println(toString() + " said: " + say);
    }

}

Вот класс автомобиля длядизайн 1:

public final class VehicleContent {

    private transient Person person;

    private String model;

    public void setPerson(Person p) {
        this.person = p;
    }

    public void setModel(String model) {
        this.model = model;
        person.say("You set the model of your car to: " + model);
    }

}

дизайн 2:

внешнее использование:

Person person = new Person();
person.vehicle.setModel("Toyota", person);

класс персонажа для дизайна 2:

public final class Person {

    private VehicleContent vehicle;

    public void init() {
        //nothing here, doesn't need to be called!
    }


    public void say(String say) {
        System.out.println(toString() + " said: " + say);
    }

}

Вот класс транспортных средств для дизайна 2:

public final class VehicleContent {

    private String model;

    public void setModel(String model, Person person) {
        this.model = model;
        person.say("You set the model of your car to: " + model);
    }

}

При ответе, пожалуйста, имейте в виду, что полный проект будет иметь около ста классов, таких как vehicleContent сохранено в экземпляре человека.

Это хорошая идея, чтобы сохранить временный тип человека вкласс как vehicleContent ?Где человек будет вызван для многих методов в классе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...