-
А для чего скрывать public-переменные? Из принципа? Вот я предоставляю (как было выше сказано) поле как контейнер для хранения данных, даю программисту возможность обрабатывать его как методами моего класса, так и доступом напрямую, например к некоторой структуре. Причём надо учитывать, что никаких проверок не нужно. И что же в этом плохого? Зачем делать дополнительные вызовы, нагружать класс ненужными свойствами и методами?
То, что однажды (через пару десятков лет) вдруг кто-то решит использовать мой класс в качестве родителя? Да ради бога.
-
> > правильно сказал. в Делфи это противоречит основным стандартам. > > советую http://www.delphikingdom.com/asp/viewitem.asp?catalogid=802
Э-э... догматизм в действии? В статье очень много полезного, но вот эта фраза - Данные всегда должны располагаться только в приватной секции несёт элемент бреда.
-
> Тын-Дын (11.11.2008 22:41:40) [40]
От себя самого скрывать. Какую дополнительную нагрузку ты видишь, для свойства read F write F И тебе что строчек жалко в файле, так не 80 годы, когда носитель была дискета 180/360 кб, а теперь уже террабайтные винчестеры норма. Зато ради этой фиктивной экономии идешь на снижения надежности.
-
> Тын-Дын (11.11.2008 22:44:41) [41]
Для кого то бред, а для кого то основа надежных программ.
-
> [29] Leonid Troyanovsky © (11.11.08 16:14)
по-сути Application - это синглтон. всякие прокси-объекты только путать будут. если уж делать строго синглтоном, то как в примере из википедии http://ru.wikipedia.org/wiki/Одиночка_(шаблон_проектирования)
-
Во-первых, где границы твоих знаний?
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end;
var Form1: TForm1; implementation
{$R *.dfm}
end.
-
> Поросенок Винни-Пух © (12.11.08 13:36) [45]
> var > Form1: TForm1;
Тяжелое наследие попыток борландов переманить пользователей VB.
-
var Form1: TForm1 - безусловно правильное решение. Проблем не вызывает, а удобства много. Приходит на ум 1 плюс создания property для полей - что сразу можно писать FValue, где-то Value и не надо будет потом заменять Value на FValue, если там надо будет добавить set'тер или get'тер какую-то работу со значением. В статье есть несколько ерундов: ИМХО, уродливо оформляется if-then-else и case, слишком много разделительных
(после каждой функции) и одна явная глупость - совет далать так: MyGlobalVariable: Pointer (вместо того чтобы явно написать = nil без комментария, раз уж нужно показать, что инициализируется нулем)
-
> GrayFace © (18.11.08 13:04) [47] > var Form1: TForm1 - безусловно правильное решение. Проблем > не вызывает, а удобства много.
Это, да. По вопросам в "Начинающим" видно, сколько удобств...
|