Jochen Becher
2018-10-16 19:36:47 UTC
Hi,
working on new features for ModelEditor I learned that some plugins
have bidirectional dependencies.
For example CppTools uses ProjectExplorer a lot but ProjectExplorer
uses CppTools only a little bit (for the two constants
CPP_SOURCE_MIMETYPE and CPP_HEADER_MIMETYPE). Moving these constant
definitions to some extra location or into ProjectExplorer would solve
this design flaw (at least I understand bidirectional plugin
dependencies as such).
What do you think about these kind of refactorings? How far would you
go to solve bidirectional dependencies, e.g. move code to a common
static lib or use an interface or signal/slots for dependency reversal?
Regards, Jochen
working on new features for ModelEditor I learned that some plugins
have bidirectional dependencies.
For example CppTools uses ProjectExplorer a lot but ProjectExplorer
uses CppTools only a little bit (for the two constants
CPP_SOURCE_MIMETYPE and CPP_HEADER_MIMETYPE). Moving these constant
definitions to some extra location or into ProjectExplorer would solve
this design flaw (at least I understand bidirectional plugin
dependencies as such).
What do you think about these kind of refactorings? How far would you
go to solve bidirectional dependencies, e.g. move code to a common
static lib or use an interface or signal/slots for dependency reversal?
Regards, Jochen