Size: a a a

2020 April 13

Ч

Чувак in Java & Co
Евгений Калашников
а я что-то говорил про вложеные елементы? я думал речь о табуляции
Ты ебанутый? Там написано, что 4 пробела отступы.
источник

SR

Sergii Roshchupkin in Java & Co
да будь пацаном скажи в какой ты компании работаешь
источник

ЕК

Евгений Калашников in Java & Co
Чувак
Ты ебанутый? Там написано, что 4 пробела отступы.
не я не бился головой
источник

Ч

Чувак in Java & Co
А как же диверсити?
источник

B1

Burevesnik 1960 in Java & Co
Обьясните плес, в ненагуглил - почему здесь не будет работать @Transactional?


https://ideone.com/Y8nJyo
источник

C

Cyclone in Java & Co
Burevesnik 1960
Обьясните плес, в ненагуглил - почему здесь не будет работать @Transactional?


https://ideone.com/Y8nJyo
Вангую, что вызов в рамках одного класса.
источник

B1

Burevesnik 1960 in Java & Co
да
источник

C

Cyclone in Java & Co
Читай про то, как работает AOP. Смысл в том, что подобные аннотации реализуются проксями, поэтому это работает при вайринге класса и вызове извне, но когда ты вызываешь из одного метода класса другой, то вызываешь метод напрямую - никакого проксирующего класса, обеспечивающего транзакцию, нет.
источник

J

Jegors in Java & Co
Как лучше разбить выражение на токены: числа, переменные, операции и скобки? Например, есть выражение: "-3+54*-23/-a*length^(x+y)", а нужно получить массив строк:

[-3, +, 54, *, -23, /, -a, *, length, ^, (, x, +, y, )]


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

J

Jegors in Java & Co
источник

N

Nonverbis in Java & Co
#вопрос В книге "Философия Java" приводится такой пример:

class Engine {
 public void start() {}
 public void rev() {}
 public void stop() {}
 public void service(){
   System.out.println("Service");
 }
}
class Wheel {
 public void inflate(int psi) {}
}
class Window {
 public void rollup() {}
 public void rolldown() {}
}
class Door {
 public Window window = new Window();
 public void open() {}
 public void close() {}
}
class Car {
 public Engine engine = new Engine();
 public Wheel[] wheel = new Wheel[4];
 public Door
 left = new Door(),
 right = new Door(); // 2-door
 public Car() {
   for(int i = 0; i < 4; i++)
   wheel[i] = new Wheel();
 }
}

public class Ex14 {
 public static void main(String[] args) {
   Car car = new Car();
   car.left.window.rollup();
   car.wheel[0].inflate(72);
   car.engine.service();
 }  
}

Дескать, если у классов все хорошо инкапсулировано, то применяя композицию, из этих классов можно хорошо собрать единое целое. И при этом открыть поля в public. Это безопасно, лаконично и понятнее читается.

Я посмотрел книжку по паттернам. Не нашел такого. Скажите, пожалуйста, это паттерн или не паттерн?
источник

M

Max in Java & Co
Nonverbis
#вопрос В книге "Философия Java" приводится такой пример:

class Engine {
 public void start() {}
 public void rev() {}
 public void stop() {}
 public void service(){
   System.out.println("Service");
 }
}
class Wheel {
 public void inflate(int psi) {}
}
class Window {
 public void rollup() {}
 public void rolldown() {}
}
class Door {
 public Window window = new Window();
 public void open() {}
 public void close() {}
}
class Car {
 public Engine engine = new Engine();
 public Wheel[] wheel = new Wheel[4];
 public Door
 left = new Door(),
 right = new Door(); // 2-door
 public Car() {
   for(int i = 0; i < 4; i++)
   wheel[i] = new Wheel();
 }
}

public class Ex14 {
 public static void main(String[] args) {
   Car car = new Car();
   car.left.window.rollup();
   car.wheel[0].inflate(72);
   car.engine.service();
 }  
}

Дескать, если у классов все хорошо инкапсулировано, то применяя композицию, из этих классов можно хорошо собрать единое целое. И при этом открыть поля в public. Это безопасно, лаконично и понятнее читается.

Я посмотрел книжку по паттернам. Не нашел такого. Скажите, пожалуйста, это паттерн или не паттерн?
а в книжке "Философия Java" говорится, что это паттерн?
источник

N

Nonverbis in Java & Co
Max
а в книжке "Философия Java" говорится, что это паттерн?
Нет. Я кратко передал все, что в книжке сказано по этому поводу.
источник

RK

Roman K in Java & Co
Ну, как минимум при попытке получить шестое колесо, в этом коде не получится кинуть свой эксепшен, будет ArrayIndexOutOfBoundsException
источник

M

Max in Java & Co
Nonverbis
Нет. Я кратко передал все, что в книжке сказано по этому поводу.
я паттерна не вижу, а что смущает? то, что поля и методы public?
источник

N

Nonverbis in Java & Co
Max
я паттерна не вижу, а что смущает? то, что поля и методы public?
В книге написано, что читающему так будет легче понять. Вот это смущает - он вообще поймет или скажет, что тут какой-то <> писал код?
источник

M

Max in Java & Co
Nonverbis
В книге написано, что читающему так будет легче понять. Вот это смущает - он вообще поймет или скажет, что тут какой-то <> писал код?
понять что? 😄 композицию?
источник

N

Nonverbis in Java & Co
Max
понять что? 😄 композицию?
Читающий может увидеть публичные поля и решить, что нарушен принцип инкапсуляции. Или это его не испугает? Или комментарий надо оставить, что там - в том классе - приняты меры по инкапсуляции, а тут все безопасно?
источник

RK

Roman K in Java & Co
"Какой м...к это писал" можно сказать про любой код, всё зависит от читающего 😊
Если например у тебя объект неизменяемый, где все поля final - то можно и через поля.
Но обычно в методы можно упаковать какие-то валидации, бизнес-логику и т.п.
источник

M

Max in Java & Co
Nonverbis
Читающий может увидеть публичные поля и решить, что нарушен принцип инкапсуляции. Или это его не испугает? Или комментарий надо оставить, что там - в том классе - приняты меры по инкапсуляции, а тут все безопасно?
если пишется свое api - отдельный закрытый пакет, то не думаю, что это действительно проблема
источник