Сообщение Re[7]: Shareware. Delphi от 14.04.2017 13:39
Изменено 22.04.2019 9:44 deleted2
Re[7]: Shareware. Delphi
Здравствуйте, icezone, Вы писали:
I>Здравствуйте, rean, Вы писали:
R>>Это вам не формы 70-х годов на мейнфреймах, когда ввел кучу данных, даже не общаясь с самим ЭВМ, и лишь после нажатия на финальную кнопку понеслось взаимодействие с хостом. Сейчас формы таковы, что любое нажатие на кнопку или перемещение мыши что-то меняет на форме.
I>И что это меняет? Говнокод можно на любом языке создавать.
I>Если ты не представляешь как отделить GUI от логики, то видимо квалификация хромает.
Не надо обвинять в какой-то ерунде!
Перечитайте еще раз, о чем идет речь. А речь идет не о разделении бизнес логики от представления, а о том, что большая часть кода пишется в одном юните. И если представление активно взаимодействует с контролами, то получаем гиганский по размеру исходник.
Пример обработки одного контрола:
А теперь представьте, что на форме десятки контролов, изменение которых в реальном времени должно что-то поменять в бизнес-логике и одновременно еще что-то рисуется и все контролы должны обновить свое актуальное значение.
I>Здравствуйте, rean, Вы писали:
R>>Это вам не формы 70-х годов на мейнфреймах, когда ввел кучу данных, даже не общаясь с самим ЭВМ, и лишь после нажатия на финальную кнопку понеслось взаимодействие с хостом. Сейчас формы таковы, что любое нажатие на кнопку или перемещение мыши что-то меняет на форме.
I>И что это меняет? Говнокод можно на любом языке создавать.
I>Если ты не представляешь как отделить GUI от логики, то видимо квалификация хромает.
Не надо обвинять в какой-то ерунде!
Перечитайте еще раз, о чем идет речь. А речь идет не о разделении бизнес логики от представления, а о том, что большая часть кода пишется в одном юните. И если представление активно взаимодействует с контролами, то получаем гиганский по размеру исходник.
Пример обработки одного контрола:
procedure TMainForm.SomePosEditChange(Sender: TObject);
begin
if ImmediateChanging then
begin
ImmediateChanging := False;
SomeControllerValue := SomePosUpDown.Position;
CallBusinessLogicToApplyChangeImmediately;
CallBusinessLogicToSyncChangeToFormControls;
ImmediateChanging := True;
end;
end;
А теперь представьте, что на форме десятки контролов, изменение которых в реальном времени должно что-то поменять в бизнес-логике и одновременно еще что-то рисуется и все контролы должны обновить свое актуальное значение.
Re[7]: Shareware. Delphi
deleted