|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от fed
![]() Просто паттерны в большинстве случаев просто позволяют несколько повысить уровень абстракции и за счет этого более наглядно и обозримо сформулировать сложные алгоритмы, которые на уровне C++ 1.0 наглядно не формируются. Но - как я уже сказал - в бизнес-автоматизации сложных алгоритмов не бывает, в противном случае - они бы не смогли бы быть реализованы как бизнес-процессы.
![]() Разбираться с прикладным кодом достаточно сложно. Во-вторых, на пользовательском уровне такая фабрика проще чем кейз, потому, что она сводит все более простому варианту - "созание по ключу". В case можно напихать в каждый выбор любой логики, соответственно, если знать про то, что должна сделать фабрика, то проще понять, что делает кусок кода. К тому же такая фабрика помогает достичь модульности. К сожалению, тут есть часть недостатков: - нет визуализации соотвествия ключ-класс - нет контроля целостности во время компиляции (case в Ax7 проверяется на недублирование ключей в дизайн тайме, правда в Ax6 этого не было, как и рантайма тоже - моя попытка сделать статический анализ выгребла ~30 всяких ошибок, часть из которых были свитчи ) - она медленнее С кодом не использующим патернов может быть сложее разбираться - при работе с прикладным кодом аксапты часто хочется тул, который сравнивает два выделенных куска, чтобы понять, в чем тут разница. |
|
Теги |
sysextension framework, sysoperation framework, как правильно, полезное |
|
|