«Все методы, реализующие интерфейс — обязательно protected и невиртуальные»
Это почему так важно?
Выходит этот код опасен чем-то? Не пойму, где могут от этого неприятности быть. TCommand = class(TInterfacedObject, ICommand, IInfoCommand)
private
FInfo: TInfo;
protected
procedure DoExecute; virtual; abstract;
function GetName: WideString; virtual; abstract;
function GetPriority: TCommandPriority; virtual; abstract;
public
constructor Create(const AШтащ: TInfo);
destructor Destroy; override;
procedure Execute;
function GetMux: TMuxInfo;
end;
Была еще такая лекция яндекса bit.ly/dBqAkb о фреймворках.
Я с ними согласен, пытался изучать какой-то фреймворк, но понял — бессмысленно тратить время. Свой наработанный материал приятнее и понятнее. И цель быстрее достигается.
Спасибо.
Понравилась идея именования веток с использованием номера задачи — стало гораздо яснее и проще выполнять задачи, потому что сразу видно номер задачи и не стремишься сюда пихнуть решение еще одной «вкусной».
Да и время жизни веток сократилось. До этого они жили долго и порой сильно уходили от корней.
p.s. применяем SVN, пока не удалось без граблей сделать экспорт в Git (
Сам себе и ответил — вот тебе и смысл: проверка настолько проста, что введение методов Get/Set это излишество, если ты просто задаешь для разных свойств диапазон значений.
При большом числе таких свойств сократиться избыточность кода.
Это почему так важно?
Выходит этот код опасен чем-то? Не пойму, где могут от этого неприятности быть.
TCommand = class(TInterfacedObject, ICommand, IInfoCommand)
private
FInfo: TInfo;
protected
procedure DoExecute; virtual; abstract;
function GetName: WideString; virtual; abstract;
function GetPriority: TCommandPriority; virtual; abstract;
public
constructor Create(const AШтащ: TInfo);
destructor Destroy; override;
procedure Execute;
function GetMux: TMuxInfo;
end;
Я с ними согласен, пытался изучать какой-то фреймворк, но понял — бессмысленно тратить время. Свой наработанный материал приятнее и понятнее. И цель быстрее достигается.
Понравилась идея именования веток с использованием номера задачи — стало гораздо яснее и проще выполнять задачи, потому что сразу видно номер задачи и не стремишься сюда пихнуть решение еще одной «вкусной».
Да и время жизни веток сократилось. До этого они жили долго и порой сильно уходили от корней.
p.s. применяем SVN, пока не удалось без граблей сделать экспорт в Git (
Аскетичный простой интерфейс и солидный банк иконок.
IComparable есть с Delphi 2009
При большом числе таких свойств сократиться избыточность кода.
Забота о пользователе — дело программиста. Как позаботишься так и будет — нет разницы какая IDE или язык использован в приложении.
Лысым например расческа не нужна, а балерине отбойный молоток.
Материалы для анализа slovari.yandex.ru/%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2/
На Win 2008 x64 ставить не приходилось.
Поробуй может собрать из исходников, как вариант.