A simple kdevplatform design question ...

Andreas Pakulat apaku at gmx.de
Thu Jun 21 21:21:21 UTC 2007


On 21.06.07 17:59:46, Sandro Andrade wrote:
> I'm figuring out the kdevplatform architecture design and I'm facing a very
> silly question. I hope not to be bothering !
> 
> Why there is a need for separating ICore from Core ?
> 
> We all know the benefits of designing using interfaces in order to commit to
> an interface, instead of an implementation.
> But I think that, in kdevplatform, it's not supposed to exist different
> implementations of ICore and I see no flexible factory code for
> ICore-inherited classes.
> 
> Defining a IPlugin class is perfectly comprehensible because there will be a
> sort of plugins that need to be handled uniformly.
> 
> What is the design rationale behind the ICore and Core classes ?

To provide a clean interface that plugins can use. I guess you didn't
yet read or overread the sentence that state: No code is allowed to link
to shell directly (except the application executable). Also you'll
notice that Core has a couple of extra functions like ::initialize() and
*Internal() which are not exposed in the interface because they are only
allowed to be used inside shell or by main.cpp.

Andreas

-- 
You too can wear a nose mitten.




More information about the KDevelop-devel mailing list