Size: a a a

Software Design/Architecture/Zen

2020 September 25

АЯ

Андрей Ява in Software Design/Architecture/Zen
ну и да - тут две ошибки сразу
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Андрей Ява
кто-то выше выловил редирект ексепшн и ниего не сделал?
Да, просто логировал. Все ексепшены подряд
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
тогда 3 ошибки
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
1. вызывать редирект ексепшном непонятно зачем
2. ловить не конкретный ексепшн чтоб с ним что-то сделать, а ловить всё подряд
3. ничего не делать в итоге с отловленным ексепшном
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
Я тут проникся идеями Рича Хикки, что вообще думаете. Распределение состояния по объектам создает излишнюю сложность? Мапинг бд на классы и sql vs богатый синтаксис запросов к бд? Лог с лайв индексом против транзакций для записи?
источник

SB

Sergei Baikin in Software Design/Architecture/Zen
Nikita Fedorov
Я тут проникся идеями Рича Хикки, что вообще думаете. Распределение состояния по объектам создает излишнюю сложность? Мапинг бд на классы и sql vs богатый синтаксис запросов к бд? Лог с лайв индексом против транзакций для записи?
А если приложение работает на HBASE или файликах
не понимаю смешения кода и стораджа в вашем утверждении
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Есть в системе вот такой объект.

Client
 - int:id
 - string:address
 - object:name
   - string:firstName
   - string:lastName

   
Нужно сделать API-запрос, который будет позволять изменять адрес и/или имя и/или фамилию.

Хочу сделать вот так.

Сам запрос:

{
 id:42,
 columns: {
   "address": "Russia, Voronezh",
   "name": {
     "firstName": "Ivan",
     "lastName": "Petrov",
   },
 },
}


Проверяю валидность запроса, затем по id получаю сущность Client и выполняю:

$client->setAddress($columns['address']);
$client->setName(new Name($columns['name']['firstName'], $columns['name']['lastName']))


Норм? Или в таком варианте я что-то не учёл?
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Сергей Предводителев
Есть в системе вот такой объект.

Client
 - int:id
 - string:address
 - object:name
   - string:firstName
   - string:lastName

   
Нужно сделать API-запрос, который будет позволять изменять адрес и/или имя и/или фамилию.

Хочу сделать вот так.

Сам запрос:

{
 id:42,
 columns: {
   "address": "Russia, Voronezh",
   "name": {
     "firstName": "Ivan",
     "lastName": "Petrov",
   },
 },
}


Проверяю валидность запроса, затем по id получаю сущность Client и выполняю:

$client->setAddress($columns['address']);
$client->setName(new Name($columns['name']['firstName'], $columns['name']['lastName']))


Норм? Или в таком варианте я что-то не учёл?
Замапись запрос на обьект? Не юзать массивы? Не юзать сеттеры?
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Vlad Sobenko
Замапись запрос на обьект? Не юзать массивы? Не юзать сеттеры?
не юзать сеттеры?
как так, почему?
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Сергей Предводителев
не юзать сеттеры?
как так, почему?
Почитай про инкапсуляцию, дата хайдинг, анемичные модели.
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
Сергей Предводителев
не юзать сеттеры?
как так, почему?
потмоу что в таком случае твой объект client превращается в просто замапленную  структуру данных
источник

AD

Apache DOG™ in Software Design/Architecture/Zen
Vlad Sobenko
Замапись запрос на обьект? Не юзать массивы? Не юзать сеттеры?
Чем плохи по вашему сеттеры?
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Андрей Ява
потмоу что в таком случае твой объект client превращается в просто замапленную  структуру данных
А если в объекте клиент на установку адреса например какая-то логика ещё есть... она же не выполнется
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Сергей Предводителев
не юзать сеттеры?
как так, почему?
Опять же. Ты считаешь, что юзаешь ООП?
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Apache DOG™
Чем плохи по вашему сеттеры?
минус инкапсуляция, минус дата хайдинг, плюс анемичные модели
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
Сергей Предводителев
Есть в системе вот такой объект.

Client
 - int:id
 - string:address
 - object:name
   - string:firstName
   - string:lastName

   
Нужно сделать API-запрос, который будет позволять изменять адрес и/или имя и/или фамилию.

Хочу сделать вот так.

Сам запрос:

{
 id:42,
 columns: {
   "address": "Russia, Voronezh",
   "name": {
     "firstName": "Ivan",
     "lastName": "Petrov",
   },
 },
}


Проверяю валидность запроса, затем по id получаю сущность Client и выполняю:

$client->setAddress($columns['address']);
$client->setName(new Name($columns['name']['firstName'], $columns['name']['lastName']))


Норм? Или в таком варианте я что-то не учёл?
валидацию, и то что у тебя parital если и/или))
источник

AD

Apache DOG™ in Software Design/Architecture/Zen
Vlad Sobenko
минус инкапсуляция, минус дата хайдинг, плюс анемичные модели
Нет , это все не так
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Vlad Sobenko
Опять же. Ты считаешь, что юзаешь ООП?
ну я считаю, что пытаюсь в этом разобраться )))
источник

AD

Apache DOG™ in Software Design/Architecture/Zen
Vlad Sobenko
Опять же. Ты считаешь, что юзаешь ООП?
хватит сратся за чистоту ООП, лучше сратся за получаемые свойства
источник

VS

Vlad Sobenko in Software Design/Architecture/Zen
Apache DOG™
Нет , это все не так
Можно по подробнее.
источник