http://russian.joelonsoftware.com/Articles/LeakyAbstractions.html
Есть property X : Integer read GetX write SetX.
И есть метод doSomething (var X: Integer)
ТУДА property передать НЕЛЬЗЯ!
Почему спрашивается?
Почему нельзя сделать compiler-magic типа
l_X := SomeObject.X;
SomeMethod(l_X);
SomeObject.X := l_X;
???
Зачем разрывать "дырявые абстракции"?
Чтобы "взорвать мозг программистам"? Или просто "не додумали"?
Или ЕЩЁ пример.
property X: SomeRecord
ПОЧЕМУ нельзя написать SomeObject.X.SomeField := SomeValue? Тоже, чтобы "разорвать абстракцию" или взорвать мозг программистам?
Почему нельзя сделать compiler-magic:
l_Rec := SomeObject.X;
l_Rec.SomeField := SomeValue;
SomeObject.X := l_Rec;
???
НЕ ПОНИМАЮ....
Я бы на месте Embarcadero "это" сделал бы...
P.S. Если уж сделали ARC в виде compiler-magic, то и ТУТ бы я это сделал бы...
Есть property X : Integer read GetX write SetX.
И есть метод doSomething (var X: Integer)
ТУДА property передать НЕЛЬЗЯ!
Почему спрашивается?
Почему нельзя сделать compiler-magic типа
l_X := SomeObject.X;
SomeMethod(l_X);
SomeObject.X := l_X;
???
Зачем разрывать "дырявые абстракции"?
Чтобы "взорвать мозг программистам"? Или просто "не додумали"?
Или ЕЩЁ пример.
property X: SomeRecord
ПОЧЕМУ нельзя написать SomeObject.X.SomeField := SomeValue? Тоже, чтобы "разорвать абстракцию" или взорвать мозг программистам?
Почему нельзя сделать compiler-magic:
l_Rec := SomeObject.X;
l_Rec.SomeField := SomeValue;
SomeObject.X := l_Rec;
???
НЕ ПОНИМАЮ....
Я бы на месте Embarcadero "это" сделал бы...
P.S. Если уж сделали ARC в виде compiler-magic, то и ТУТ бы я это сделал бы...
Комментариев нет:
Отправить комментарий