Комментарии 13
protected DataSource dataSource = null;
protected MyDao dao = null;
А вот как назвать человека, который так пишет?
0
Как Вам угодно. Как бы Вы назвали? И как это связано с темой статьи?
+2
Как бы Вы назвали?
Назвал бы чайником, который только неделю назад начал изучать Java.
И даже для этих классов генерируется разный байт-код:
public class A {
public Object value = null;
}
public class B {
public Object value;
}
Байткод для A:
// class version 52.0 (52)
// access flags 0x21
public class A {
// compiled from: A.java
// access flags 0x1
public Ljava/lang/Object; value
// access flags 0x1
public <init>()V
L0
LINENUMBER 3 L0
ALOAD 0
INVOKESPECIAL java/lang/Object.<init> ()V
L1
LINENUMBER 5 L1
ALOAD 0
ACONST_NULL
PUTFIELD A.value : Ljava/lang/Object;
RETURN
L2
LOCALVARIABLE this LA; L0 L2 0
MAXSTACK = 2
MAXLOCALS = 1
}
Байткод для B:
// class version 52.0 (52)
// access flags 0x21
public class B {
// compiled from: B.java
// access flags 0x1
public Ljava/lang/Object; value
// access flags 0x1
public <init>()V
L0
LINENUMBER 3 L0
ALOAD 0
INVOKESPECIAL java/lang/Object.<init> ()V
RETURN
L1
LOCALVARIABLE this LB; L0 L1 0
MAXSTACK = 1
MAXLOCALS = 1
}
+1
Ваша правда. Не надо так. Код дан без редактирования, полностью сохранен авторский. Даже не заметил. Спасибо, что указали.
0
Поправил код.
0
Разве эти поля не должны быть private final? В этом одно из преимуществ внедрения в конструктор.
+2
Если писать идеально, то да. Изначально для меня идея перевода включала в себя принцип не делать текст ни лучше, ни хуже, чем он есть на самом деле. Это касается не только основного текста, но и кода тоже. Основную идею статьи код, на мой взгляд, иллюстрирует. Действительно, он не идеален. Однако, автор написал так как он написал. На данный момент я вижу такой выход как сделать апдейт с явным комментарием от переводчика, который явно укажет на недостатки авторского кода. П.С. основное преимущество текстов от Jakob Jenkov — это простота и доходчивость. Давайте вместе отмечать недостатки и делать текст лучше.
0
да все нормально, выкидывайте из черновиков
+1
Спасибо. Пробовал это сделать, кнопка «удалить» не активна. Обратился в поддержку. Оказывается, нельзя удалить черновик статьи, которая уже была опубликована и затем скрыта.
0
ждем продолжений
0
Рад. Планирую завтра выдать еще две «главы»
0
Сегодня, как и обещал, опубликовал следующую часть о DI-контейнерах и преимуществах их использования.
0
Можно внедрять зависимости также используя методы-сеттеры, либо прямо через публичные поля (прим. перев.: по поводу полей переводчик не согласен, это нарушает защиту данных класса).
Вот кстати да, в чем соль того, чтобы вместо простого присваивания публичным переменным, огульно делать сеттеры?
Да, иногда это нужно. Но ключевое слово здесь не «нужно», а «иногда».
Что скажете?
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Dependency injection