Форум: "Прочее";
Текущий архив: 2008.06.22;
Скачать: [xml.tar.bz2];
ВнизКак лучше сделать классу интерфейс? Найти похожие ветки
← →
Basis (2008-05-11 03:11) [0]Есть класс с кучей различных данных. Которые используют другие классы.
Но одни из этих классов используют одни данные, другие другие, третьи - третьи. Некоторые из них могут пересекаться. В результате у этого класса вынесено в паблик целый вагон всего, так, что трудно разобраться что нужно такому-то классу, а что другому.
Хорошо бы, чтобы у класса было бы несколько пабликов, в которых бы было чётко разграничено, для этих классов такие данные, для этих такие, для тех - третьи.
Экземпляр класса - один.
В общем как лучше сделать архитектуру этого класса? Разделять класс на части - не предлагать.
← →
Юрий Зотов © (2008-05-11 08:31) [1]
type
// Контейнер данных для класса 1
IData1Provider = interface
function Get...;
function Get...;
...
end;
// Контейнер данных для класса 2
IData2Provider = interface
function Get...;
function Get...;
...
end;
// Контейнер данных для класса 3 (пересечение с классом 1)
IData3Provider = interface(IData1Provider)
function Get...;
function Get...;
...
end;
// Контейнер данных для класса 4 (пересечение с классом 2)
IData4Provider = interface(IData2Provider)
function Get...;
function Get...;
...
end;
// Контейнер данных для класса 5 (пересечение с классами 1 и 2)
IData5Provider = interface(IData1Provider, IData2Provider)
function Get...;
function Get...;
...
end;
// И т. д.
TDataProvider = class(TAncestorClass, IData1Provider, IData2Provider, IData3Provider, IData4Provider, IData5Provider, ...)
...
end;
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2008.06.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c