Конференция "Прочее" » Верно ли это? [D6, XP]
 
  • Тын-Дын © (11.11.08 22:41) [40]
    А для чего скрывать public-переменные? Из принципа?
    Вот я предоставляю (как было выше сказано) поле как контейнер для хранения данных, даю программисту возможность обрабатывать его как методами моего класса, так и доступом напрямую, например к некоторой структуре. Причём надо учитывать, что никаких проверок не нужно.
    И что же в этом плохого? Зачем делать дополнительные вызовы, нагружать класс ненужными свойствами и методами?

    То, что однажды (через пару десятков лет) вдруг кто-то решит использовать мой класс в качестве родителя?
    Да ради бога.
  • Тын-Дын © (11.11.08 22:44) [41]

    >
    > правильно сказал. в Делфи это противоречит основным стандартам.
    >
    > советую http://www.delphikingdom.com/asp/viewitem.asp?catalogid=802


    Э-э... догматизм в действии?

    В статье очень много полезного, но вот эта фраза - Данные всегда должны располагаться только в приватной секции

    несёт элемент бреда.
  • Anatoly Podgoretsky © (11.11.08 23:16) [42]
    > Тын-Дын  (11.11.2008 22:41:40)  [40]

    От себя самого скрывать.
    Какую дополнительную нагрузку ты видишь, для свойства read F write F
    И тебе что строчек жалко в файле, так не 80 годы, когда носитель была дискета 180/360 кб, а теперь уже террабайтные винчестеры норма.
    Зато ради этой фиктивной экономии идешь на снижения надежности.
  • Anatoly Podgoretsky © (11.11.08 23:18) [43]
    > Тын-Дын  (11.11.2008 22:44:41)  [41]

    Для кого то бред, а для кого то основа надежных программ.
  • Eraser © (11.11.08 23:22) [44]
    > [29] Leonid Troyanovsky ©   (11.11.08 16:14)

    по-сути Application - это синглтон. всякие прокси-объекты только путать будут. если уж делать строго синглтоном, то как в примере из википедии http://ru.wikipedia.org/wiki/Одиночка_(шаблон_проектирования)
  • Поросенок Винни-Пух © (12.11.08 13:36) [45]
    Во-первых, где границы твоих знаний?

    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.
  • Leonid Troyanovsky © (12.11.08 13:43) [46]

    > Поросенок Винни-Пух ©   (12.11.08 13:36) [45]

    > var
    >  Form1: TForm1;

    Тяжелое наследие попыток борландов
    переманить пользователей VB.
  • GrayFace © (18.11.08 13:04) [47]
    var Form1: TForm1 - безусловно правильное решение. Проблем не вызывает, а удобства много.

    Приходит на ум 1 плюс создания property для полей - что сразу можно писать FValue, где-то Value и не надо будет потом заменять Value на FValue, если там надо будет добавить set'тер или get'тер какую-то работу со значением.

    В статье есть несколько ерундов:
    ИМХО, уродливо оформляется if-then-else и case, слишком много разделительных
    //----

    (после каждой функции) и одна явная глупость - совет далать так:
    MyGlobalVariable: Pointer // = nil;

    (вместо того чтобы явно написать = nil без комментария, раз уж нужно показать, что инициализируется нулем)
  • Плохиш © (18.11.08 13:20) [48]

    > GrayFace ©   (18.11.08 13:04) [47]
    > var Form1: TForm1 - безусловно правильное решение. Проблем
    > не вызывает, а удобства много.

    Это, да. По вопросам в "Начинающим" видно, сколько удобств...
 
Конференция "Прочее" » Верно ли это? [D6, XP]
Есть новые Нет новых   [134446   +31][b:0][p:0.001]