Расскажите подробнее о разделении библиотек на core и interface, пожалуйста.Вынести все функции, которые могут использоваться перекрестно в третью библиотеку. Или каждую разделить на 2 части: Core и Interface.
и никак иначе...
А я подумал, что это как-то решает проблемы с циклическими зависимостями. Мы в проекте выделили классы для работы с определенным типом документа в СЭД в одну библиотеку, но так как типов документов много и они сложно связаны между собой встает проблема связывания этих библиотек - возникают циклические зависимости.ABarmin
Это просто условные названия, назвать можно как угодно.
Смысл в том, чтобы выделить функции по общему признаку в одну библиотеку.
Функции работающие внутри системы, которые вызываются из других функций, записать в одной библиотеке.
Функции, которые вызывают внутренние функции записать в другую библиотеку.
Во второй сделать Use первой.
Мой подход разделять функции по библиотекам в зависимости от работы: внутренние (libName) и для работы с GUI (libName_UI)
Например, у меня куча функций для работы с пользовательским интерфейсом(выбор документов, открытие разных окон, поиск) объединяю их в одну библиотеку libname_UI, в весь механизм поиска осуществляется во внутренней библиотеке libName.
этпочему?Декоратор - не совсем то.
Use "data.lotus.DTTask"
public class DTProcess as DTDocument
private tasks as DTList
public function getTasks() as DTList
if (me.tasks is nothing) then
set me.tasks = new DTList()
' получение объектов DTTask волшебным кодом
end if
set getTasks = me.tasks
end function
end class
public class DTTask as DTDocument
private parentProcess as DTProcess
public function getParentProcess() as DTProcess
if (me.parentProcess is nothing) then
' получение объекта DTProcess волшебным кодом
end if
set getParentProcess = me.parentProcess
end function
end class
Зачем давать на буржуинским, если то же самое есть на русском?например патерн декоратор http://en.wikipedia.org/wiki/Decorator_pattern
Вы сами ответили на свой вопрос + ещё выше люди всё сказали.Если все части функционала находятся в одной либе, то тут и проблем нет, хоть декоратором, хоть наследованием.
родной язык для большинства "технологий" - англицкий, интерпретация в русской версии может сильно отличатьсяЗачем давать на буржуинским, если то же самое есть на русском?
Остается только Execute.Зачем давать на буржуинским, если то же самое есть на русском?
Добавлено: Вы сами ответили на свой вопрос + ещё выше люди всё сказали.
Без одной библиотеки либо без классов-интерфейсов в 3-й общей либо без использования Execute, т.е. так, как вы хотите (вероятно волшебным образом), оно работать не будет, так чего возить г-но по унитазу?