Текущий архив: 2006.08.13;
Скачать: CL | DM;
Вниз
Читерство в коде Найти похожие ветки
← →
MeF Dei Corvi © (2006-07-20 03:37) [0]Хочу спросить совета у мастеров. Оправдано ли использование "кривых хаков" в коде? Например, конструкторов с примерно таким поведением:
var MyObj: TMyObj;
...
constructor TMyObj.Create;
begin
if(Assigned(MyObj)) then begin
self.Free;
self:=MyObj;
end
else begin
//...
end;
end;
Или всё же лучше изменить архитектуру, чтобы исключить подобный код?
← →
Percent (2006-07-20 03:40) [1]Оправдано ли использование "кривых хаков" в коде?
А в чем тут кривость?
P.S. Вместо глобальной объектной ссылки лучше использовать локальную ссылочную константу.
← →
Loginov Dmitry © (2006-07-20 07:49) [2]Ну если код работает, с кодом больше никому не придется разбираться, программу никому не придется юзать - то ради бога. Оправдано.
← →
Slym © (2006-07-20 08:14) [3]Не проще так
function MyObj:TMyObj;
implementation
var FMyObj:TMyObj;
function MyObj:TMyObj;
begin
if not Assigned(FMyObj) then
FMyObj:=TMyObj.Create;
result:=FMyObj;
end;
← →
Lamer@fools.ua © (2006-07-20 08:50) [4]>Оправдано ли использование "кривых хаков" в коде?
Хаков — бывает, что да.
Кривых — нет.
← →
DiamondShark © (2006-07-20 08:52) [5]
> с примерно таким поведением:
А, если не секрет, какое "такое" поведение в этом коде ожидалось?
> Или всё же лучше изменить архитектуру, чтобы исключить подобный
> код?
;-)
← →
Rouse_ © (2006-07-20 09:57) [6]главное в деструкторе конструктор самого себя не поднимать - а остальное мошт и прокатить :)
← →
Игорь Шевченко © (2006-07-20 11:04) [7]"-- Человек должен быть простым и ясным,-- сказал Домарощинер."
(с)
← →
MeF Dei Corvi © (2006-07-20 13:40) [8]
> какое "такое" поведение в этом коде ожидалось?
В данном случае ожидается, что будет существовать всего один объект данного класса.
← →
Юрий Зотов © (2006-07-20 14:10) [9]> MeF Dei Corvi © (20.07.06 13:40) [8]
Тогда логичнее перекрывать NewInstance/FreeInstance, а не конструктор/деструктор.
← →
Amoeba © (2006-07-20 15:15) [10]
> MeF Dei Corvi © (20.07.06 13:40) [8]
>
> > какое "такое" поведение в этом коде ожидалось?
>
> В данном случае ожидается, что будет существовать всего
> один объект данного класса.
Тогда может создавать класс на основе шаблона синглетон?
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=267
← →
MeF Dei Corvi © (2006-07-20 15:22) [11]
> Тогда логичнее перекрывать NewInstance/FreeInstance
Да, пожалуй. Спасибо за подсказку :)
> Тогда может создавать класс на основе шаблона синглетон?
Ну вообще это и была попытка реализации синглетона на Delphi, но из-за поверхностных знаний языка у меня и возник такой корявый код :)
Страницы: 1 вся ветка
Текущий архив: 2006.08.13;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.03 c