Hi all, In a quest to find inspiration for good Qt application architectures, I've been looking at the plugin based one you're using in Qt Creator. It strikes me as a really nice design.
I've been reading the available docs on it, and dug into the code a bit. This may be a bit much to ask, but I was wondering if any of you devs could answer a few questions that popped up? It would be much appreciated! It's really just two questions, about two different topics: 1. The Invoker / invoke<...> Thingie: You have ExtensionSystem::Invoker and the associated invoke<..> helper, which are syntactic sugar for achieving "soft" extension points. It seems it's not used that much (?). I grepped for "Invoker|invoke<" in the code and could only find a few uses of it. I also grepped for "invokeMethod" to see if the approach was being used "manually" so to speak (without the sugar), and found a few more hits. What was the motivation for adding this? I assume it's for cases where you want a looser coupling between plugins (no linking, no shared header), but can you give an example of when you really wanted that looser coupling and why? 2. The Plugin System in General: Is there anything about the plugin system in its current form, or how it is used, that you would do fundamentally different if you could do it all over again? Any areas that you find messy/awkward, that need a re-think/makeover? In short: What are the biggest warts in the code in your opinion? Many thanks in advance, Elvis _______________________________________________ Qt-creator mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/qt-creator
