Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.11;
Скачать: CL | DM;

Вниз

Верно ли это?   Найти похожие ветки 

 
Тын-Дын ©   (2008-11-11 22:41) [40]

А для чего скрывать public-переменные? Из принципа?
Вот я предоставляю (как было выше сказано) поле как контейнер для хранения данных, даю программисту возможность обрабатывать его как методами моего класса, так и доступом напрямую, например к некоторой структуре. Причём надо учитывать, что никаких проверок не нужно.
И что же в этом плохого? Зачем делать дополнительные вызовы, нагружать класс ненужными свойствами и методами?

То, что однажды (через пару десятков лет) вдруг кто-то решит использовать мой класс в качестве родителя?
Да ради бога.


 
Тын-Дын ©   (2008-11-11 22:44) [41]


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


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

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

несёт элемент бреда.


 
Anatoly Podgoretsky ©   (2008-11-11 23:16) [42]

> Тын-Дын  (11.11.2008 22:41:40)  [40]

От себя самого скрывать.
Какую дополнительную нагрузку ты видишь, для свойства read F write F
И тебе что строчек жалко в файле, так не 80 годы, когда носитель была дискета 180/360 кб, а теперь уже террабайтные винчестеры норма.
Зато ради этой фиктивной экономии идешь на снижения надежности.


 
Anatoly Podgoretsky ©   (2008-11-11 23:18) [43]

> Тын-Дын  (11.11.2008 22:44:41)  [41]

Для кого то бред, а для кого то основа надежных программ.


 
Eraser ©   (2008-11-11 23:22) [44]

> [29] Leonid Troyanovsky ©   (11.11.08 16:14)

по-сути Application - это синглтон. всякие прокси-объекты только путать будут. если уж делать строго синглтоном, то как в примере из википедии http://ru.wikipedia.org/wiki/Одиночка_(шаблон_проектирования)


 
Поросенок Винни-Пух ©   (2008-11-12 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 ©   (2008-11-12 13:43) [46]


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

> var
>  Form1: TForm1;

Тяжелое наследие попыток борландов
переманить пользователей VB.


 
GrayFace ©   (2008-11-18 13:04) [47]

var Form1: TForm1 - безусловно правильное решение. Проблем не вызывает, а удобства много.

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

В статье есть несколько ерундов:
ИМХО, уродливо оформляется if-then-else и case, слишком много разделительных //---- (после каждой функции) и одна явная глупость - совет далать так:
MyGlobalVariable: Pointer // = nil; (вместо того чтобы явно написать = nil без комментария, раз уж нужно показать, что инициализируется нулем)


 
Плохиш ©   (2008-11-18 13:20) [48]


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

Это, да. По вопросам в "Начинающим" видно, сколько удобств...



Страницы: 1 2 вся ветка

Текущий архив: 2009.01.11;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.015 c
15-1226827602
Slider007
2008-11-16 12:26
2009.01.11
С днем рождения ! 15 ноября 2008 суббота


9-1176815377
ElectriC
2007-04-17 17:09
2009.01.11
Прозрачность CD3DFont текста


2-1227776113
cvg
2008-11-27 11:55
2009.01.11
Как отключить загрузку ODBC-драйвера?


15-1226577912
Григорьев Антон
2008-11-13 15:05
2009.01.11
Крутой дизайн Visual Studio 2008


2-1227969919
snake-as
2008-11-29 17:45
2009.01.11
Поиск в поткаталогах