Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MVC - Constructor vs Setter? 
:(
    Опции темы
Killer_13
  Дата 21.1.2012, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: нет
Всего: 1



Собственно интересует вопрос, что лучше использовать для передачи в Controller? 
К примеру делал вот таким макаром, 
Код

public class CalcMVC {
    //... Create model, view, and controller.  They are
    //    created once here and passed to the parts that
    //    need them so there is only one copy of each.
    public static void main(String[] args) {
        
        CalcModel      model      = new CalcModel();
        CalcView       view       = new CalcView(model);
        CalcController controller = new CalcController(model, view);
        
        view.setVisible(true);
    }
}

но как-то нужно было передать 2 Вьюва в один контроллер или что-то такое, тогда вопрос постал, если вызывать еще раз к примеру другой конструктор, то соответственно создается другой объект.
Человек который подсказывал мне, даже удивился - он сказал, что предпочитает, это все дело запихивать через Setter-ы?

Так как правильнее? Какие плюсы, минусы?
Спасибо!

PM MAIL   Вверх
powerOn
Дата 22.1.2012, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



это вопрос стиля, т.е. субъективный. фукционально, что конструктор, что сеттер - разницы нет.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Killer_13
Дата 22.1.2012, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: нет
Всего: 1



Собственно и спрашиваю, интересуюсь, что предпочтительней.. или это уже на выбор программиста?
Тоисть по сути, если я напишу вот так
Код

......
        CalcModel      model      = new CalcModel();
        CalcView       view       = new CalcView();
        view.setModel(model);
        CalcController controller = new CalcController();
        controller.setModel(model);
        controller.setView(view);
.....


будет то же, никаких плюсов и минусов в дальнейшей разработке..?
PM MAIL   Вверх
Stolzen
Дата 23.1.2012, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 23
Всего: 48



Через конструктор места меньше занимает (строк, в смысле), и объект готов к функционированию сразу же - NPE точно не поймаете. 


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
Killer_13
Дата 23.1.2012, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: нет
Всего: 1



Цитата

сразу же - NPE точно не поймаете.

дааа, припоминаю, пришлось "пошевелить" однажды когда вот из-за не внимательности вылезло
Спасибо.
PM MAIL   Вверх
Entwickler
Дата 30.1.2012, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 14.4.2007

Репутация: нет
Всего: 2



Привет!

в принципе конструктор используется только при "построении" обьекта. После этого обьект готов! И что теперь делать если нужно изменить его состояние? Вот сдесь и нужны "аксессоры"...

Тоесть: строим обьект конструктор или сеттеры, меняем состояние обьекта только сеттеры
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0769 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.