[MonoDevelop] Assembly reorganization
john.luke at gmail.com
Tue Jul 26 11:52:33 EDT 2005
I mostly agree with this, especially the getting organized and naming
things for development towards a 1..0
release that will be API stable. A couple small comments.
Lluis Sanchez wrote:
>This is a proposal of reorganization of the MD assemblies. Hopefully,
>this would be the last big API change before MD 1.0. The goal of this
>change is to improve the modularization of the MD API, and provide a
>more coherent, easy to use and reusable API.
>MD is not just another GTK# application. It provides a public API that
>addins and other applications can use and extend. When we release MD 1.0
>this API will be frozen and only incremental changes will be allowed
>until MD 2.0, which may take quite a lot of time. That's why we need to
>make sure that MD 1.0 API covers most of the usage scenarios of MD.
>The basic idea is to split the API in (at least) three assemblies:
> * MonoDevelop.Core: it would be the core runtime of MD. It would
> contain what it has right now plus some services moved from
> MonoDevelop.Base. It would not contain anything related to the
The original idea (at least I think) was that core would only contain
the minimum functionality. I think we
shouldn't move any services into here that are not 1) useful for almost
any app that exists 2) free of non-standard
dependencies. So for example, I think the Gettext stuff should move out
of the Core. There isn't really anything wrong
with making it more functional and heavier, just a different trade off
> * MonoDevelop.Gui: This assembly would contain user interface
> components for displaying, browsing or managing the information
> from the MD runtime, together with other utility classes.
> * MonoDevelop.IdeApplication: This would implement the MonoDevelop
> IDE, based on the previous assemblies.
A perhaps too simple suggestion, instead of MonoDevelop.IdeApplication
how about using just MonoDevelop.
>Some namespaces should also be renamed. A basic rule we should follow is
>that namespaces implemented in an assembly should have the assembly name
I would like this also, and I have wanted to change the MonoDevelop.Dock
assembly to work like this but
the Dock class conflicts. Since we are discussing names anyone have any
bright ideas here?
More information about the Monodevelop-list